zebanx
XLDnaute Accro
Bonjour à tous.
J'utilise un UDF (VCH) qui m'est pratique par la suite (transposition).
Son but est le suivant :
S'il y a un changement de couleurs, on affiche sur les bornes de chaque plage la valeur de référence (colonne A).
Ceci est valable sauf pour la couleur blanche (pas d'information sur ces cellules là).
Actuellement :
Obligation de faire un copier-coller "formule" sur la zone depuis une cellule quelconque contenant la formule.
Une petite vidéo pour visualiser cela sur le lient suivant :
Ce que je cherche à faire :
Lorsqu'on change de couleur, que la cellule contient la formule de cet UDF, que le "refresh" soit automatique.
On pourrait aussi prévoir de lancer un "sub" sur toute la plage mais à ce stade, je préfère imaginer de trouver une solution pour passer par un "refresh" automatique (target).
Ce qui a été essayé
Code VBA (fourni par JOB75 - merci!) enregistré dans "this workbook" pour forcer le recalcul de l'UDF.
Mais la plage ne se met pas à jour comme souhaité.
(IE : changer d'onglet et revenir sur la feuil1, rien ne s'affiche).
Merci beaucoup pour votre aide.
Zebanx
Le code de l'udf
J'utilise un UDF (VCH) qui m'est pratique par la suite (transposition).
Son but est le suivant :
S'il y a un changement de couleurs, on affiche sur les bornes de chaque plage la valeur de référence (colonne A).
Ceci est valable sauf pour la couleur blanche (pas d'information sur ces cellules là).
Actuellement :
Obligation de faire un copier-coller "formule" sur la zone depuis une cellule quelconque contenant la formule.
Une petite vidéo pour visualiser cela sur le lient suivant :
Ce que je cherche à faire :
Lorsqu'on change de couleur, que la cellule contient la formule de cet UDF, que le "refresh" soit automatique.
On pourrait aussi prévoir de lancer un "sub" sur toute la plage mais à ce stade, je préfère imaginer de trouver une solution pour passer par un "refresh" automatique (target).
Ce qui a été essayé
Code VBA (fourni par JOB75 - merci!) enregistré dans "this workbook" pour forcer le recalcul de l'UDF.
Mais la plage ne se met pas à jour comme souhaité.
(IE : changer d'onglet et revenir sur la feuil1, rien ne s'affiche).
Merci beaucoup pour votre aide.
Zebanx
Le code de l'udf
VB:
Function VCH(rng)
'-- Valeur Couleur Hour
'x = cref.Interior.Color
ta = rng.Value
On Error Resume Next
i = Application.Caller.Row
j = Application.Caller.Column
If Cells(i, j).Interior.Color = RGB(255, 255, 255) Then VCH = "": GoTo fin
If Cells(i, j).Interior.Color = RGB(216, 216, 216) Then VCH = "": GoTo fin
If Cells(i, j).Interior.Color <> Cells(i - 1, j).Interior.Color Then
VCH = ta(i - 1, 1)
ElseIf Cells(i, j).Interior.Color <> Cells(i + 1, j).Interior.Color Then VCH = ta(i, 1)
Else: VCH = ""
End If
fin:
End Function