Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Private Sub Worksheet_Change ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion Englobe
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Englobe

XLDnaute Nouveau
Bonjour,

Je n'arrive pas à faire déclencher la macro .

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Call Remplit
End Sub

Je veux que la macro Remplit s'exécute lors d'un changement de couleur dans une cellule ou une entrée.
Lorsque d'un essai précédent, il y avait une boucle sans fin dont il a fallu que j'arrête le tout.

Merci de votre aide.
 

Pièces jointes

Solution
Merci Dranreb,
Je regarde de ce côté.
Bonne journée
Bonjour Englobe, Danielco,
il y avait une boucle sans fin dont il a fallu que j'arrête le tout.
Normal.
Quand on modifie une valeur on exécute Worksheet_Change qui lance Remplit.
Dans Remplit on écrit en C9.
Comme on écrit dans la feuille on exécute Worksheet_Change qui lance Remplit.
Dans Remplit on écrit en C9.
...
Ca peux durer longtemps, c'est ce qu'on appelle de la ré entrance.
Pour pallier au souci il suffit d'invalider les events avant d'écrire dans la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Call Remplit
    Application.EnableEvents = True
End Sub

la macro Remplit s'exécute lors d'un changement de couleur
A noter que cette macro n'agira pas sur un changement de couleur d'une cellule, il faut un Enter pour l'activer.
 

Pièces jointes

Merci sylvanu,

Cette correction fonctionne à merveille.
Question
Comment rendre exécutable un changement de couleur de fond de cellule par contre... si c'est possible?

Encore merci
 

Pièces jointes

Bonjour.
Je ne vois pas d'autre solution qu'avec une boucle lancée dans un Sub Worksheet_SelectionChange qui vérifie en permanence si la Target.Interior.Color n'a pas changé …
Le dispositif existe dans mon CouleurCls.xlsm pour la colonne "Échantillon" des feuilles d'études.
N'oubliez pas de mettre un DoEvents dans la boucle pour qu'elle n'empêche pas Excel de travailler.
 
Merci Dranreb,
Je regarde de ce côté.
Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…