Vérifier si changement dans une plage de cellule

Bonjour,

Je souhaite faire un calcul si et seulement si je modifie une valeur sur un plage de données.

J'ai plusieurs cases remplies (B3:AF7), dès qu'une valeur est modifiée sur cette plage de cellule alors je fais appelle à ma fonction.

Pouvez vous me dire la ligne qui me manque pour faire cela.

Je ne souhaite pas faire la vérif sur toute une ligne ou colonne (target.row et target. column)

Faut-il que je parte avec des conditions sur target.adress ou y a-t-il plus simple?

Merci pour votre aide.

Zebino

Salut Zebino,

pas de fichier donc, allons-y au talent! 8)

Pour démarrer ta fonction, tu dois intercepter un changement dans Range("B3:AF7"), donc tu utilises l'événement Worksheets_Change de la feuille concernée!

Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Application.Intercept(Target, Range("B3:AF7")) Is Nothing Then
    'ta fonction
End If
'
End Sub

A+

Bonjour Curulis57,

Merci pour ton aide mais je ne trouve pas => erreur "objet requis" mais c'est vrai que j'ai juste fait un copier coller car je ne connais pas cette fonction (je suis juste débutant).

Tu trouveras en pièce jointe le fichier en question pour mieux comprendre.

Merci

Zebino

54horaires.xlsm (18.15 Ko)

Bonjour,

Quelqu'un pour me donner un coup de pouce? Merci

Zebino

Salut Zebino,

en fait, tu n'as besoin que de quelques formules!

En AH3 : =NB.SI(B3:AF3;"M") que tu tires vers le bas (ou plus rapide, double-cliquer sur la poignée! 8) ).

Tu adaptes les autres formules en AI3, AJ3,... en fonction de la recherche spécifique à ces colonnes (J, S, RH,...) que tu tires vers le bas de la même façon!

Et ça roulera tout seul!

A+

Bonjour,

Super pour mon cas ça fonctionne bien. Merci

Bonne soirée,

Zebino

Attention, il y avait une erreur dans ton code, il faut écrire Intersect et non Intercept

Salut Zebino,

pas de fichier donc, allons-y au talent! 8)

Pour démarrer ta fonction, tu dois intercepter un changement dans Range("B3:AF7"), donc tu utilises l'événement Worksheets_Change de la feuille concernée!

Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Application.Intersect(Target, Range("B3:AF7")) Is Nothing Then
    'ta fonction
End If
'
End Sub

A+

Rechercher des sujets similaires à "verifier changement plage"