Bonjour le forum.
Je me sers de "Enregistrer une macro" pour l'écrire, ne connaissant pas le language VBA et ses déclarations prérequises, mais n'ai pas trouvé la formule qui permettrait un mouvement de bascule lorsqu'on appelle la macro.
Exemple théorique mais qui ne fonctionne pas :
Sub Masquer()
' MASQUER Macro
' Cette macro a pour objectif sur clic du bouton "Masquer"
'de cacher/Afficher en bascule les lignes 5 à 13 de la feuille
' Si Q1 = 1 j'affiche et met à 2, si Q1 = 2 je cache et met à 1
If (R1C17) = 2 Then GoTo Cacher:
'Quelque soit le contenu de Q1 on descend sur AFFICHER: et j'ai essayé d'autre formes d'adressage sans plus de 'succès.
AFFICHER:
Range("Q1").Select
ActiveCell.FormulaR1C1 = 2
Rows("5:13").Select
Selection.EntireRow.Hidden = False
Selection.RowHeight = 20
End
Cacher:
Range("Q1").Select
ActiveCell.FormulaR1C1 = 1
Rows("5:13").Select
Selection.EntireRow.Hidden = True
End Sub
' Par avance je vous remercie de votre aide.
Je me sers de "Enregistrer une macro" pour l'écrire, ne connaissant pas le language VBA et ses déclarations prérequises, mais n'ai pas trouvé la formule qui permettrait un mouvement de bascule lorsqu'on appelle la macro.
Exemple théorique mais qui ne fonctionne pas :
Sub Masquer()
' MASQUER Macro
' Cette macro a pour objectif sur clic du bouton "Masquer"
'de cacher/Afficher en bascule les lignes 5 à 13 de la feuille
' Si Q1 = 1 j'affiche et met à 2, si Q1 = 2 je cache et met à 1
If (R1C17) = 2 Then GoTo Cacher:
'Quelque soit le contenu de Q1 on descend sur AFFICHER: et j'ai essayé d'autre formes d'adressage sans plus de 'succès.
AFFICHER:
Range("Q1").Select
ActiveCell.FormulaR1C1 = 2
Rows("5:13").Select
Selection.EntireRow.Hidden = False
Selection.RowHeight = 20
End
Cacher:
Range("Q1").Select
ActiveCell.FormulaR1C1 = 1
Rows("5:13").Select
Selection.EntireRow.Hidden = True
End Sub
' Par avance je vous remercie de votre aide.
Dernière édition: