Exécuter une macro lorsque la valeur d'une cellule change.

Résolu/Fermé
Steeve999 Messages postés 16 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 24 avril 2018 - 21 août 2017 à 15:07
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 23 août 2017 à 11:10
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

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 août 2017 à 15:18
Bonjour,

 If Not Application.Intersect(Target, Range("D6,E25,I32")) Is Nothing Then
                'code de traitement
    End If
1
Steeve999 Messages postés 16 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 24 avril 2018
22 août 2017 à 09:57
Merci pour ta réponse.
Mais quand j'ai fait "D6,E25,I32" ça affiche un message d'erreur par contre avec "D6:25:I32" ça bien marché.
0