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

Boucle sur Worksheet_Calculate qui bug

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

G

gorfil

Guest
J'ai une feuil excel sur laquelle il y a 200 checkbox
à chaque click sur checkbox correspond un changement dans les cellules adjacentes.

J'ai créer une sub qui fonctionnent bien avec un bouton.
Je souhaites que la sub fonctionne avec Worksheet_Calculate()
Quand j'essaye j'ai un bug et excel se bloque.




Code:
Private Sub Worksheet_Calculate()
Dim x As Integer

For x = 10 To 50

If Cells(x, 8) = True Then
Cells(x, 1).Font.Color = &H5F
Cells(x, 2).Font.Color = &H5F
Cells(x, 3).Font.Color = &H5F
Cells(x, 4).Font.Color = &H5F
Cells(x, 5).Font.Color = &H5F
Else
Cells(x, 8) = False
Cells(x, 1).Font.Color = &HFF0000
Cells(x, 2).Font.Color = &HFF0000
Cells(x, 3).Font.Color = &HFF0000
Cells(x, 4).Font.Color = &HFF0000
Cells(x, 5).Font.Color = &HFF0000

End If
Next x

End Sub


Merci d'avance pour votre précieuse aide.
 
Re : Boucle sur Worksheet_Calculate qui bug

Bonsoir Gorfil,

J'ai copié ta macro dans un fichier Excel 2007 et tout semble fonctionner (j'ai testé avec des valeurs VRAI FAUX les cellules de la colonne H)
et la police des valeurs de la colonne A changent bien de couleur.

A quel code d'erreur es-tu confronté ?

A +
Kotov
 
Re : Boucle sur Worksheet_Calculate qui bug

Bonsoir gorfil, Kotov,

La feuille est recalculée quand on entre la valeur False dans Cells(x, 8).

Il faut donc désactiver l'action des évènements.

Par ailleurs, il est plus que souhaitable de regrouper les cellules :

Code:
Private Sub Worksheet_Calculate()
Dim x As Integer
[COLOR="Red"]Application.EnableEvents = False[/COLOR]
For x = 10 To 50
If Cells(x, 8) = True Then
Range(Cells(x, 1), Cells(x, 5)).Font.Color = &H5F
Else
Cells(x, 8) = False
Range(Cells(x, 1), Cells(x, 5)).Font.Color = &HFF0000
End If
Next x
Application.EnableEvents = True
End Sub

Edit : perso je préfèrerai, de loin, utiliser ColorIndex au lieu de Color, avec les codes couleur 9 et 5.

A+
 
Dernière édition:
- 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
5
Affichages
925
Réponses
8
Affichages
797
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
462
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…