A voir également:
- Activer une macro sur une autre feuille
- Activer chromecast - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment imprimer en a5 sur une feuille a4 - Guide
- Activer office gratuitement - Accueil - Bureautique
- Comment activer windows 10 - Guide
1 réponse
Bonjour Steeve999,
Une macro se met dans Module1 ou Module2 (par exemple),
et l'emplacement dans un module ou un autre ne change rien ;
ensuite, la sub du module fait son travail sur une feuille ou
une autre : c'est à toi de l'écrire correctement ; donc si ça
bogue, revoit ton code VBA.
Si tu n'y arrives toujours pas, tu peux déposer ton code
dans ton prochain post sur ce forum (si pas trop long) ;
sinon, joins ton fichier Excel.
Dans les 2 cas, précise bien quel est le travail à faire.
Cordialement
Une macro se met dans Module1 ou Module2 (par exemple),
et l'emplacement dans un module ou un autre ne change rien ;
ensuite, la sub du module fait son travail sur une feuille ou
une autre : c'est à toi de l'écrire correctement ; donc si ça
bogue, revoit ton code VBA.
Si tu n'y arrives toujours pas, tu peux déposer ton code
dans ton prochain post sur ce forum (si pas trop long) ;
sinon, joins ton fichier Excel.
Dans les 2 cas, précise bien quel est le travail à faire.
Cordialement
J'ai mis le code dans un module mais ça marche pas.
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Sheets("Fiche_opérateur").Range("d6")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
If Range("d6") = "Sonomètre" Then
Sheets("Détail résultats Sonomètre").Visible = True
Sheets("Détail résultats Centrale LANXI").Visible = False
Sheets("Fiche_opérateur").Range("a66:c66").EntireRow.Hidden = False
Sheets("Fiche_opérateur").Range("a57:a58").EntireRow.Hidden = True
Sheets("Fiche_opérateur").Range("a59").EntireRow.Hidden = False
End If
End If
End Sub
Pour l'emplacement du code :
Ce code est une sub événementielle => elle ne doit pas être dans un module
(tel que Module1 ou Module2), mais dans le code de la feuille concernée ;
donc si c'est pour Feuil1 : fais Alt F11 pour aller sur Microsoft Visual Basic ;
à gauche, dans la liste du haut : double-clic sur Feuil1 => à droite, page de
code de Feuil1 ; c'est là qu'il faut copier le code (dans Module1, n'oublie
pas de supprimer ce même code).
---------------------------------------------------
Je te propose ce code VBA :
' KeyCells : en feuille "Fiche_opérateur", D6 Private Sub Worksheet_Change(ByVal Target As Range) With Worksheets("Fiche_opérateur") If Application.Intersect(.[D6], Range(Target.Address)) Is Nothing Then Exit Sub If .[D6] <> "Sonomètre" Then Exit Sub Worksheets("Détail résultats Sonomètre").Visible = True Worksheets("Détail résultats Centrale LANXI").Visible = False .[A66:C66].EntireRow.Hidden = False .[A57:A58].EntireRow.Hidden = True .[A59].EntireRow.Hidden = False End With End SubMerci de me dire si ça te convient.