problème execution infinie

  • Initiateur de la discussion Initiateur de la discussion vincent2187
  • 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 !

V

vincent2187

Guest
Bonjour,

J'ai un petit soucis :

J'ai récupéré une macro sur ce site qui me permet de donner une couleur à une cellule suivant la valeur (utilisation d'un macro car trop de conditions).
Certaines cellules se mettent à jour automatiquement, le problème est que je suis obligé de valider manuellement ces cellules pour que la couleur change.
J'ai fait une petite macro pour contourner le problème, mais un nouveau problème est apparu, le code s'exécute à l'infini ce qui bloque tout mon système.

voila mes codes :

-celui là pour la couleur sur la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([ChampMFC], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
Target.Font.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Font.ColorIndex
Call MAJPrerequis
End If
End Sub

Celui ci pour la validation des cellules qui ne changent pas de couleur automatiquement dans un module :

Sub MAJPrerequis()
Range("C4").Select
ActiveCell.Formula = "=C86"
Range("D4").Select
ActiveCell.Formula = "=D86"
Range("E4").Select
ActiveCell.Formula = "=E86"
Range("F4").Select
ActiveCell.Formula = "=F86"
Range("G4").Select
ActiveCell.Formula = "=G86"
Range("H4").Select
ActiveCell.Formula = "=H86"
Range("I4").Select
ActiveCell.Formula = "=I86"
Range("J4").Select
ActiveCell.Formula = "=J86"
End Sub

Votre aide peut être très précieuse.
 
Re : problème execution infinie

Bonjour Vincent

essaye peut être avec une variable "static" :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Static b As Boolean
If b Then Exit Sub
If Not Intersect([ChampMFC], Target) Is Nothing Then
    b = True
    On Error Resume Next
    Target.Interior.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
    Target.Font.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Font.ColorIndex
    Call MAJPrerequis
    b = False
End If
End Sub

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
14
Affichages
484
Réponses
4
Affichages
521
Réponses
4
Affichages
586
Réponses
5
Affichages
546
Réponses
28
Affichages
2 K
Retour