Worksheet_change ne fonctionne pas

Bonjour,

J'aurais besoin d'aide car je cherche une solution à mon soucis.

J'ai une liste sur une feuille (zone de liste déroulante ActiveX) qui est reliée à une cellule et j'ai une macro qui s'exécute au worksheet_change().

Or le soucis c'est que quand je change de choix dans ma liste cela actualise ma case mais cela ne compte pas comme un changement dans la feuille et n'effectue donc pas ma macro. Quelqu'un aurait une solution pour remédier à ce soucis ?

Je vous remercie par avance et ne peux malheureusement pas vous joindre le fichier car confidentiel.

Bonjour,

Au lieu de passer par une liste déroulante ActiveX ne pouvez vous pas passer par une liste de validation ?

Sans fichier il va être difficile d'aider, quitte à changer les données ou à les épurer.

Cdlt,

Non car les cases sont trop petites avec la validation de données et j'ai vu qu'il était impossible de modifier la taille de la liste..

Alors dans ce fichier c'est typiquement mon soucis. Si je choisis dans la liste rien ne se passe, si je tape le mois dans la case ma macro s'exécute.

Je voulais s'avoir si c'était possible de trouver une magouille pour que la macro s'exécute quand je choisis dans la liste.

Merci pour votre réactivité !

Bonjour,

D'accord. Alors dans ce cas au même titre qu'une procédure évènemenielle vous pouvez y associé un feuille ou un contrôle activeX qui sont tous les 2 des objets ce qui donne :

Private Sub Choix_mois_Change()
MsgBox ("Valeur changée")
End Sub

Si vous souhaitez le faire par vous même :

2021 03 18 10 16 24 microsoft visual basic pour applications feuil2 code

Cdlt,

Ah oui exact, j'avais bien pensé à cela mais le soucis c'est que dans mon code à utiliser, j'ai

If Target.Address = "$E$7" Then
        Select Case Target

Et le code bloque sur target car il le prend comme une variable..

Si c'est trop embêtant je ferais autrement, redites moi.

Bonjour,

Dans ce cas double procédure évenementielle. La première inscrit le mois sélectionné dans l'ActiveX en E6, qui déclanche alors la Worksheet_Change qui vérifie alors que c'est bien la cellule E6 qui a été modifiée (je suis resté sur E6 car je n'ai pas compris le E7). S'en suit l'execution de votre macro à la place de la MsgBox.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$6" Then
    MsgBox ("CELLULE CIBLEE MODIFIEE")
End If
End Sub

Private Sub Choix_mois_Change()
Range("E6") = Choix_mois.Value
End Sub

Est-ce que cela répond plus à votre besoin ?

Cdlt,

Ah génial je suis stupide... J'avais la solution sous les yeux et je ne l'avais même pas vu.

Merci beaucoup pour ton aide !

Pas de soucis.

Parfois il faut prendre un peu de recul et faire une pause, laisser la nuit passer, pendant ce temps les capacités cérébrales s'actionnent et, au réveil, notre problème n'est qu'un lointain souvenir :)

Passez une bonne journée.

Rechercher des sujets similaires à "worksheet change fonctionne pas"