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   -
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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   Statut Membre Dernière intervention  
 
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