VBA : Actualisation

Résolu
piroc Messages postés 67 Statut Membre -  
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,

J'ai un petit problème côté VBA sur mon Excel...

Voici ma situation.
J'ai créer la formule suivant sous VBA qui me permet en fonction d'une couleur d'une cellule de prendre en compte sa valeur ou non :

Option Explicit

Function SommeCouleur(Zone As Range, CRef As Range, X, Y)
    Dim c, Cel, S
    c = CRef.Interior.ColorIndex
    S = 0
    For Each Cel In Zone
        If Cel.Interior.ColorIndex = c Then
            S = S + Cel.Offset(Y, X)
        End If
    Next
    SommeCouleur = S
End Function



Dans l'utilisation la formule fonctionne mais elle ne s'actualise pas automatiquement. Pour ce faire je dois rentrer dans le texte de la cellule et taper "Entrée". Ayant plusieurs centaines de cellule à actualiser, ce n'est pas viable....

J'ai donc crée un Bouton avec comme macro :

Sub Selection()
    Range("CF35:CG333").Calculate
End Sub


Cette macro m'actualise bien mes formules, mais juste 1 seul fois. Si je remet des couleurs, que je reclique sur le bouton cela ne fonctionne plus. Je dois dan ce cas la retourner dans la VBA est modifier un caractère (Ex : "Espace" puis "Suppr"). Après cela je peux recliquer sur le bouton (1 fois).

Savez-vous pourquoi le bouton ne fonctionne qu'une fois ? Que dois-je faire pour ce problème ?


PS : J'ai essayé les F9, calcul formule automatique mais RAS.



Cordialement,

1 réponse

pijaku Messages postés 13513 Statut Modérateur 2 763
 
Bonjour,

Sans bouton, essaie d'ajouter
Application.Volatile
en début de ta fonction, comme ceci :
Option Explicit

Function SommeCouleur(Zone As Range, CRef As Range, X, Y)
    Dim c, Cel, S
    Application.Volatile
    c = CRef.Interior.ColorIndex
    S = 0
    For Each Cel In Zone
        If Cel.Interior.ColorIndex = c Then
            S = S + Cel.Offset(Y, X)
        End If
    Next
    SommeCouleur = S
End Function

0
piroc Messages postés 67 Statut Membre
 
Avec le
Application.Volatile
après mes applications de couleurs je fait un F9 et ça actualise tout.

Merci beaucoup !
0
pijaku Messages postés 13513 Statut Modérateur 2 763 > piroc Messages postés 67 Statut Membre
 
de rien.
A+
0