Fonction vba : ne met pas à jour automatiquement le résultat !!!?

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 !

bubu4343

XLDnaute Nouveau
Bonjour,

J'ai créé une fonction qui renvoie un résultat dans😉 une cellule (et qui prend en paramètre d'autre cellules de la feuille).
Le problème c'est que le résultat de ma fonction ne se met pas à jour (quand je modifie d'autres cellules relatives à cette fonction). je suis obligé de sélectionner ma cellule et de faire "enter" pour qu'elle recalcule.

Comment puis procéder pour le recalcule automatique de cette fonction ?
Merci
 
Re : Fonction vba : ne met pas à jour automatiquement le résultat !!!?

slt et merci.
J'ai bien mis Application.Volatile au début de ma fonction.
En faite c'est une fonction qui compte les cellules d'une certaine couleur et quand je modifie la couleur des cellules, ça ne marche pas!!!!!🙁
 
Re : Fonction vba : ne met pas à jour automatiquement le résultat !!!?

Bonjour,
Je crois que le fait de changer de couleurs de cellules, ne force pas automatiquement le recalcul de ta fonction.
Tu peux contourner ce problème en ajoutant le code suivant dans ton onglet :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.Calculate
End Sub

Ainsi, ta fonction sera recalculée chaque fois que tu changeras de cellules.
Attention, ça peut vite ralentir ton classeur si tu as plusieurs formules dedans.

A+
 
Re : Fonction vba : ne met pas à jour automatiquement le résultat !!!?

bonjour,

si elle doit changer de couleur, c'est pour une raison bien précise, je suppose
et grâce à cette raison bien précise, il est facile de compter sans créer une fonction pour cela
avec un fichier sans données confidentielles, cela serait plus facile de t'aider
 
Bonjour,

j'ai le même soucis et je n'arrive pas à automatiser ma VGA (code ci-dessous) :

General (en haut) CompterCouleur (en haut)

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



Pouvez-vous m'aider ?

Merci
 
Bonjour,

j'ai le même soucis et je n'arrive pas à automatiser ma VGA (code ci-dessous) :

General (en haut) CompterCouleur (en haut)

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



Pouvez-vous m'aider ?

Merci
Bonsour 😎
Peut-être ajouter une instruction : volatile
😃
Et/ou forcer le recalcul F9
 
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

Discussions similaires

Réponses
3
Affichages
429
Réponses
6
Affichages
299
Réponses
24
Affichages
2 K
Retour