Exécuter une macro lorsque la valeur d'une cellule change.
Résolu
Steeve999
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je veux Exécuter la macro située ci-dessous que lorsque les 3 Cellules "D6" "E25" et "I32" changent.
J'ai deux problèmes :
- Le premier c'est que j'ai pu faire exécuter le macro que lorsque je change la celulle "D6" avec ce code:
" If Not Application.Intersect(Target, Range("D6")) Is Nothing Then
Exit Sub
End If"
Mais quand j'ai voulu faire
If Not (Application.Intersect(Target, Range("D6"))
Or Application.Intersect(Target, Range("E25"))
Or Application.Intersect(Target, Range("I32"))) Is Nothing Then
Exit Sub
End If
Il s'affiche un message d'erreur.
Le deuxième problème c'est que les 2 cellules "E25" et "I32" changent automatiquement en fonction de données du fichier. C'est à dire je veux que la macro s'exécute lorsque leurs contenus changent et non lorsque on click sur eux.
Vous trouverez la macro ci-dessous
Merci d'avance.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D6")) Is Nothing Then
Exit Sub
End If
If Range("E25").Value = 5 Then
Sheets("Fiche_opérateur").Range("a67:a77").EntireRow.Hidden = True
Sheets("Rapport").Range("a132:a142").EntireRow.Hidden = True
End If
If Range("I32") = "Vous pouvez ne pas mesurer K2A" Then
Sheets("Fiche_opérateur").Range("a98:a185").EntireRow.Hidden = True
End If
If Range("d6") = "Sonomètre" Then
Sheets("Détail résultats Sonomètre").Visible = True
Sheets("Détail résultats Centrale LANXI").Visible = False
End If
End Sub
Je veux Exécuter la macro située ci-dessous que lorsque les 3 Cellules "D6" "E25" et "I32" changent.
J'ai deux problèmes :
- Le premier c'est que j'ai pu faire exécuter le macro que lorsque je change la celulle "D6" avec ce code:
" If Not Application.Intersect(Target, Range("D6")) Is Nothing Then
Exit Sub
End If"
Mais quand j'ai voulu faire
If Not (Application.Intersect(Target, Range("D6"))
Or Application.Intersect(Target, Range("E25"))
Or Application.Intersect(Target, Range("I32"))) Is Nothing Then
Exit Sub
End If
Il s'affiche un message d'erreur.
Le deuxième problème c'est que les 2 cellules "E25" et "I32" changent automatiquement en fonction de données du fichier. C'est à dire je veux que la macro s'exécute lorsque leurs contenus changent et non lorsque on click sur eux.
Vous trouverez la macro ci-dessous
Merci d'avance.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D6")) Is Nothing Then
Exit Sub
End If
If Range("E25").Value = 5 Then
Sheets("Fiche_opérateur").Range("a67:a77").EntireRow.Hidden = True
Sheets("Rapport").Range("a132:a142").EntireRow.Hidden = True
End If
If Range("I32") = "Vous pouvez ne pas mesurer K2A" Then
Sheets("Fiche_opérateur").Range("a98:a185").EntireRow.Hidden = True
End If
If Range("d6") = "Sonomètre" Then
Sheets("Détail résultats Sonomètre").Visible = True
Sheets("Détail résultats Centrale LANXI").Visible = False
End If
End Sub
A voir également:
- Lancer macro automatiquement modification cellule
- Suivi de modification word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Comment lancer un programme automatiquement au démarrage de windows - Guide
- Logiciel gratuit modification pdf - Guide
Mais quand j'ai fait "D6,E25,I32" ça affiche un message d'erreur par contre avec "D6:25:I32" ça bien marché.