macro evenement suite modif liste validation

copayo

XLDnaute Occasionnel
Bonjour XLD,

je cherche le code VBA qui se déclencherait quand on modifie la selection dans une liste de validation.

La cellule contenant la liste de validation s'appelle selectmois et l'action que je veux lancer est le recalcul de la zone C1:h64.

J'ai ca pour l'instant mais j'ai du mal à me l'approprier (Source AV):


Private Sub Worksheet_Change(ByVal zz As range)
If Not Intersect(zz, [selectmois]) Is Nothing Then
range('C1:h64').Calculate
End If
End Sub

Si qqn a 2 minutes pour se pencher sur mon cas e me donner un petit cours ce serait tres sympa.

merci et à bientot
 

porcinet82

XLDnaute Barbatruc
Salut Copayo,

Je vais peut etre dire une connerie mais changer ta liste de validation reviens à modifier une plage de cellule toute simple non?

Donc si tu mets seulement (la plage de cellule set a adadter) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range('A1:A3')) Is Nothing Then
    'ton code
End If
End Sub

Il me semble que ca devrait fonctionner.

@+
 

porcinet82

XLDnaute Barbatruc
re,

Je vais essayer de te fournir une explication mais c'est pas gagné du tout.
Si une modification est réalisée sur la feuille alors une action est déclenchée Private Sub Worksheet_Change. Target correspond à la cellule active, c'est à dire celle qui est changé.
Enfin la ligne If Not Intersect(Target, Range('A1:A3')) Is Nothing Then veut dire que si la cellule active (celle qui est donc modifiée = Target) n'est pas dans la plage A1:A3 alors on ne fait rien. Il me semble que Is Nothing fonctionne comme un Booleen, c'est à dire que tant que la condition n'est pas vérifiée, on ne rentre pas dans le If.

Mais je ne suis pas trop sur de mon explication du Is Nothing.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas