Bonjour à tous,
Je débute sur Excel, donc peut-être que c'est tout simple, mais je ne trouve pas le moyen de le faire...
En gros, j'ai un fichier Excel qui a plusieurs worksheets.
Je voudrais que quand l'utilisateur change la couleur d'une cellule de la worksheet numéro 1, la couleur d'une cellule de la worksheet soit automatiquement actualisée à partir de la première.
N'ayant pas trouvé de fonction applicable à la cellule même, j'ai voulu mettre le code dans le changement d'onglet en cherchant les méthode de la worksheet:
Qui appelle la macro:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_xxxxxxx() Call Ma_macro End Sub
La méthode Worksheet_Change n'est jamais appelée;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub Ma_macro() Sheets(" Dashboard-sum up-AT").Select Range("E2").Select Selection.Copy Sheets("ARD per Countries").Select Range("D5:E5").Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End Sub
La méthode Worksheet_SelectChange est appelée au moindre clic sur une cellule;
La méthode Worksheet_Activate est appelée en boucle...
Aucune ne me va: d'où est-ce que je peux appeler cette fonction?
Par ailleurs, si je copie le code de la macro depuis l'une des méthodes ci-dessus, j'ai un problème que je ne comprends pas: j'obtiens l'erreur "run-time error '1004' select method of range class field" sur la ligne de codealors que si j'appelle la macro avec le même code, cette erreur n'apparaît pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("E2").Select
J'ai essayé tout ce que j'ai trouvé sur le web, mais rien ne me va...
Merci d'avance pour toute aide!
Partager