Actualisation automatique formule/module
RésoluBonjour,
J'ai créé un calendrier avec plusieurs formules qui comptent les jours, weekends, jours fériés, etc.
J'ai aussi créé un module pour compter les cellules qui ont un remplissage de couleur bleu pour mes Congés Payés.
Voici mon module :
Function CompterCouleur(PlageCouleur As Range, Couleur As Range) Dim CodeCouleur As Integer Dim NbrCouleur As Integer CodeCouleur = Couleur.Interior.ColorIndex Set CCell = PlageCouleur For Each CCell In PlageCouleur If CCell.Interior.ColorIndex = CodeCouleur Then NbrCouleur = NbrCouleur + 1 End If Next CCell CompterCouleur = NbrCouleur End Function
Et je mets ensuite la formule "=CompterCouleur($D6:$AH6;$AM$5)" dans la cellule AI6 pour compter toutes les cellules qui ont un remplissage "bleu" dans cette plage. (AM5 contient la couleur à chercher "bleu" et "D6:AH6" est la plage).
Le module fonctionne mais j'ai un souci car il ne s'actualise pas automatiquement.
Exemple:
Si je rajoute mon remplissage dans la plage :
La formule ne s'actualise pas et le compte reste à 0. Je suis obligé d'aller dans la formule et appuyer sur Entrée pour qu'elle s'actualise.
Savez-vous comment faire pour que le compte s'actualise automatiquement ?
Je vous ai mis mon fichier ci-dessous:
Mon fichier
Windows / Chrome 119.0.0.0
5 réponses
-
Oui pour la ligne Application.Volatile
Normalement tu n'as plus à repasser par les formules
-
https://www.cjoint.com/c/NBgkCmxh4f4
-
Bonsoir
1) Au début de ta macro après les DIm rajoute cette ligne
Application.Volatile
2) Dans l'éditeur VBA, dans le worksheet de la feuille Planning tu mets cette macro qui fait fait recalculer la feuille lors d'un événement (ici ça se passera lorsque tu feras Entrée après avoir coloré une cellule) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Calculate End Sub
Cdlment
-
-
Oui c'est bon j'ai retesté et ça fonctionne parfaitement !
Merci encore !
Bonne journée.