J'aimerais avoir un exemple de l'utilisation d'un bouton
"ToggleButton".
J'ai besoin d'un bouton qui, lorsqu'on clique dessus masque disons les
colonnes AI à CD (incl)
et que lorsque je clique à nouveau dessus ces mêmes colonnes réapparaissent.
Je ne sais pas comment faire pour que le deuxième click déclenche la macro :
Cells.Select
Cells.Select
Selection.EntireColumn.Hidden = False
Selection.EntireRow.Hidden = False
Range("A1").Select
Application.ScreenUpdating = True
Merci de m'aider et au plaisir
Charles
Private Sub ToggleButton1_Click()
If Columns("a:cd").Hidden = True Then
Columns("a:cd").Hidden = False
ToggleButton1.Caption = "Masquer colonnes"
Exit Sub
End If
Columns("a:cd").Hidden = True
ToggleButton1.Caption = "Afficher colonnes"
End Sub
Cette macro peut aussi être affecté à un bouton ordinaire
Amicalement
Laurent(de Marseille)
"Match" <ma...@videotron.ca> a écrit dans le message news:
OBnL23EwAHA.1924@tkmsftngp05...
Merci aussi à ceux qui avaient commencé à chercher une piste.
c'est vraiment un plaisir de vous connaître tous et toutes.
Charles (qui a une petite pensés pour tous ceux qui ont les pieds dans
l'eau ; pas à la plage... :-( )
"Daures L" <LAURENt...@wanadoo.fr> a écrit dans le message news:
Oknf0dFwAHA.1396@tkmsftngp05...
Je te propose une petite barre d'outils avec 1 bouton qui simule assez bien le
comportement d'un "ToggleButton" (j'avais galéré un moment avec cette question, il y
a quelques mois, avant de trouver cette solution). Vu l'éloignement des colonnes que
tu as besoin de masquer ou d'afficher, il n'est pas mal en effet que le bouton
rappelle visuellement ce qu'il en est.
Le code est à copier dans un module standard. Exécute la procédure CreateToggleBtn
pour créer la barre d'outils.
FS
'=========================
Sub CreateToggleBtn()
With Application.CommandBars.Add("Colonnes")
.Controls.Add (msoControlButton)
With .Controls(1)
.TooltipText = "Cacher colonnes"
.FaceId = 294
.State = msoButtonUp
.OnAction = "CacheEtMontre"
.Visible = True
End With
.Visible = True
End With
End Sub
Sub CacheEtMontre()
Dim btn As CommandBarControl, bar As CommandBar, i%
Set bar = Application.CommandBars("Colonnes")
Set btn = bar.Controls(1)
Select Case btn.State
Case msoButtonUp
btn.TooltipText = "Montrer colonnes"
btn.State = msoButtonDown
btn.FaceId = 297
ActiveSheet.Range("AI:CD").EntireColumn.Hidden = True
Case msoButtonDown
btn.TooltipText = "Cacher colonnes"
btn.State = msoButtonUp
btn.FaceId = 294
ActiveSheet.Range("AI:CD").EntireColumn.Hidden = False
End Select
End Sub
'=========================
--
Frédéric Sigonneau [né un Sans-culottide !]
Gestions de temps : http://perso.wanadoo.fr/frederic.sigonneau
"sabatier" <jps...@club-internet.fr> a écrit dans le message news:
3AD0CB5D...@club-internet.fr...
Private Sub ToggleButton1_Click()
If Columns("a:cd").Hidden = True Then
Columns("a:cd").Hidden = False
ToggleButton1.Caption = "Masquer colonnes"
Exit Sub
End If
Columns("a:cd").Hidden = True
ToggleButton1.Caption = "Afficher colonnes"
End Sub
Amicalement
Laurent (de Marseille)
"sabatier" <jps...@club-internet.fr> a écrit dans le message news:
3AD0D553...@club-internet.fr...
La solution de Laurent D ( pas Laurent Jade)
fonctionne comme vous dites :
Nickel-Chrome
Pile-poil
Super
Extra
Full Cool
et merci à Frédéric S.
...
Charles
"Daures L" <LAURENt...@wanadoo.fr> a écrit dans le message news:
Oyj$GKHwAHA.2292@tkmsftngp02...
--
Amicalement,
Monique
http://www.respublica.fr/osga , pour les amateurs d'athlétisme
"Daures L" <LAURENt...@wanadoo.fr> a écrit dans le message news:
Oyj$GKHwAHA.2292@tkmsftngp02...
Private Sub ToggleButton1_Click()
Application.ScreenUpdating = False
If Columns("a:cd").Hidden = True Then
Columns("a:cd").Select
Selection.EntireColumn.Hidden = False
ToggleButton1.Caption = "Masquer colonnes"
ActiveCell.Select
Exit Sub
End If
Columns("a:cd").Select
Selection.EntireColumn.Hidden = True
ActiveCell.Select
ToggleButton1.Caption = "Afficher colonnes"
End Sub
Je me suis contenté de sélectionner les colonnes au lieu de
simplement leur donner la propriété hidden.
C'est un peu comme [A1].select
Range ("A1").select marche mieux sur excel 95.
On en bave avec ces versions d'excel.
Amicalement
Laurent (de Marseille)
"Monique Brunel" <bs98...@skynet.be> a écrit dans le message news:
uekF2oNwAHA.1940@tkmsftngp05...
Pour Jean-Paul :
Puisque la macro semblait t'intéresser, elle est opérationnelle avec Excel
97.
C'est parfois utile d'être une testa di mula ;-)))
--
Amicalement,
Monique
http://www.respublica.fr/osga , pour les amateurs d'athlétisme
"Daures L" <LAURENt...@wanadoo.fr> a écrit dans le message news:
ebSqmzNwAHA.1940@tkmsftngp05...
"Monique Brunel" <bs98...@skynet.be> a écrit dans le message news:
u076zMPwAHA.1804@tkmsftngp02...
Misange
http://disciplus.simplex.free.fr
"Monique Brunel" <bs98...@skynet.be> a écrit dans le message news:
u076zMPwAHA.1804@tkmsftngp02...
Par contre, celle ci est intéressante pour masquer les colonnes de la
sélection ou bien les afficher.
sans avoir à sélectionner la colonne entière.
Private Sub ToggleButton1_Click()
Dim cell As Range
For Each cell In Selection
If cell.Columns.Hidden = True Then
Selection.Columns.Select
ToggleButton1.Caption = "colonnes des cellules " & Selection.Address & "
Affichées"
Selection.EntireColumn.Hidden = False
Exit Sub
End If
Next cell
Selection.Columns.Select
ToggleButton1.Caption = "colonnes des cellules " & Selection.Address & "
Masquées"
Selection.EntireColumn.Hidden = True
End Sub
Même chose pour les lignes en créant un togglebutton2
Private Sub ToggleButton2_Click()
Dim cell As Range
For Each cell In Selection
If cell.Rows.Hidden = True Then
Selection.Rows.Select
ToggleButton2.Caption = "Lignes des cellules " & Selection.Address & "
Affichées"
Selection.EntireRow.Hidden = False
Exit Sub
End If
Next cell
Selection.Rows.Select
ToggleButton2.Caption = "Lignes des cellules " & Selection.Address & "
Masquées"
Selection.EntireRow.Hidden = True
End Sub
Amicalement
Laurent (de Marseille)
"sabatier" <jps...@club-internet.fr> a écrit dans le message news:
3AD1D886...@club-internet.fr...