Excel - Macro Colorer 1 cellule selon 1 autre
Résolu
_gfv
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
_gfv Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
_gfv Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Mettre automatiquement une cellule de la même couleur qu'une autre
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- La boite a couleur - Télécharger - Divers Photo & Graphisme
- Excel compter cellule couleur sans vba - Guide
- Bloquer une cellule excel - Guide
5 réponses
bonjour
Tu as pratiquement la réponse dans ta question, car comme tu as trouvé le code couleur, il suffit de le recopier :
Ta cellule A1 prend la couleur de B1 mais si B1 change de couleur il faut refaire ton code à nouveau.
Tu as pratiquement la réponse dans ta question, car comme tu as trouvé le code couleur, il suffit de le recopier :
Range("A1").Interior.ColorIndex = Range("B1").Interior.ColorIndex
Ta cellule A1 prend la couleur de B1 mais si B1 change de couleur il faut refaire ton code à nouveau.
Bonjour gbinforme,
je te remercie pour ta réponse, je vais tester ton code. J'ai trouvé, hier soir, celui-ci qui fonctionne plutôt bien :
Selection.Interior.ColorIndex = Sheets("feuil1").Cells(11, 6).Interior.ColorIndex
mais je pense que je peux faire plus simple en remplaçant Sheet("feuil1").Cell(11,6) par Range("F11)
Par contre, une autre question me viens :
- Est-il possible de coller sur un bouton un texte existant dans une cellule ? Ou alors d'appliquer une macro au textes d'un menu déroulant ?
Sinon je vais devoir apprendre à créer un menu...
Te remerciant par avance.
gfv
je te remercie pour ta réponse, je vais tester ton code. J'ai trouvé, hier soir, celui-ci qui fonctionne plutôt bien :
Selection.Interior.ColorIndex = Sheets("feuil1").Cells(11, 6).Interior.ColorIndex
mais je pense que je peux faire plus simple en remplaçant Sheet("feuil1").Cell(11,6) par Range("F11)
Par contre, une autre question me viens :
- Est-il possible de coller sur un bouton un texte existant dans une cellule ? Ou alors d'appliquer une macro au textes d'un menu déroulant ?
Sinon je vais devoir apprendre à créer un menu...
Te remerciant par avance.
gfv
Bonjour
Je peux te proposer cette macro à mettre dans la feuille contenant le bouton.
Il faut rentrer le texte en A1 ou tu changes la valeur de la cellule. Assures toi également que ton bouton est bien le Button 1. S'il n' y a qu'un seul bouton ça devrait être le cas sinon il faut connaître son indice.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
ActiveSheet.Shapes("Button 1").Select
Selection.Characters.Text = Range("A1")
Range("A1").Select
End Sub
Je peux te proposer cette macro à mettre dans la feuille contenant le bouton.
Il faut rentrer le texte en A1 ou tu changes la valeur de la cellule. Assures toi également que ton bouton est bien le Button 1. S'il n' y a qu'un seul bouton ça devrait être le cas sinon il faut connaître son indice.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
ActiveSheet.Shapes("Button 1").Select
Selection.Characters.Text = Range("A1")
Range("A1").Select
End Sub
Merci à toi AGi67.fr, car grâce à ton code, j'ai pu progresser dans ma quête VBA :)
Je me retrouve maintenant confronté à un autre problème.
Pour expliquer, j'ai crée un calendrier qui me grise automatiquement les samedi, dimanche et jours fériés. Sur ce calendrier, je fait un comptage de couleur via la fonction LIRE.CELLULE d'Excel ce qui me permet de savoir combien de cellule de la même couleur ont été "remplies" sur 1 mois. Ces couleurs sont prédéfinies et modifiables (d'où ma première question) et correspondent soit aux congés, aux RTT, à une absence maladie ou encore à des chantiers...
J'ai crée avec UserForm une fenêtre qui doit me permettre de colorer une cellule en une couleur (la cellule correspondant à un jour de la semaine et la couleur à une imputation, par exemple "congé"). Ceci implique au moins deux boutons : un pour colorier ma cellule et un autre qui doit mettre à jour le nom de celui qui me sert à colorier la cellule, ceci afin que l'on sache à quoi correspond le bouton (par exemple "Congé"). Cette manipulation me semble indispensable pour que n'importe qui puisse personnaliser les imputations d'heures.
Mon objectif est de savoir sur l'année (mis à part le suivi des heures) combien de temps une personne passe dans ces divers critères (congés, chantier, etc.).
Concernant la création de la fenêtre avec ce qui va bien dedans, je suis OK,
concernant la coloration de la cellule suivant la couleur d'une autre cellule, je suis OK,
- par contre concernant la modification du nom du bouton CommandButton1 (par exemple) je n'y arrive pas.
- Et autre soucis, lorsque ma fenêtre est active je ne peux plus sélectionner de cellule dans mon calendrier.
Je continue mes investigations dans ce dédale qui m'est encore inconnu et vous tiens au courant si je trouve une solution, mais votre aide ne me sera pas encore de trop :)
gfv
Je me retrouve maintenant confronté à un autre problème.
Pour expliquer, j'ai crée un calendrier qui me grise automatiquement les samedi, dimanche et jours fériés. Sur ce calendrier, je fait un comptage de couleur via la fonction LIRE.CELLULE d'Excel ce qui me permet de savoir combien de cellule de la même couleur ont été "remplies" sur 1 mois. Ces couleurs sont prédéfinies et modifiables (d'où ma première question) et correspondent soit aux congés, aux RTT, à une absence maladie ou encore à des chantiers...
J'ai crée avec UserForm une fenêtre qui doit me permettre de colorer une cellule en une couleur (la cellule correspondant à un jour de la semaine et la couleur à une imputation, par exemple "congé"). Ceci implique au moins deux boutons : un pour colorier ma cellule et un autre qui doit mettre à jour le nom de celui qui me sert à colorier la cellule, ceci afin que l'on sache à quoi correspond le bouton (par exemple "Congé"). Cette manipulation me semble indispensable pour que n'importe qui puisse personnaliser les imputations d'heures.
Mon objectif est de savoir sur l'année (mis à part le suivi des heures) combien de temps une personne passe dans ces divers critères (congés, chantier, etc.).
Concernant la création de la fenêtre avec ce qui va bien dedans, je suis OK,
concernant la coloration de la cellule suivant la couleur d'une autre cellule, je suis OK,
- par contre concernant la modification du nom du bouton CommandButton1 (par exemple) je n'y arrive pas.
- Et autre soucis, lorsque ma fenêtre est active je ne peux plus sélectionner de cellule dans mon calendrier.
Je continue mes investigations dans ce dédale qui m'est encore inconnu et vous tiens au courant si je trouve une solution, mais votre aide ne me sera pas encore de trop :)
gfv
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
...concernant la modification du bouton de commande, j'ai réussi à détourner le problème : j'ai créé une TextBox associée à ma cellule (nommée) que je voulais évolutive (donc à texte variable) puis j'ai balancé le code pour colorer la cellule sur un bouton placé à coté, et ça marche :)
Mais il me reste un problème auquel je me heurte :
- je n'arrive pas à sélectionner une cellule de l'agenda, ni faire de ScollUp ou ScrollDown lorsque ma fenêtre est active. Ceci m'impose donc de sélectionner mes cellules avant de lancer ma fenêtre de coloriage, ce qui est une contrainte.
je pense arriver au bout de ma "débrouillardise"...
gfv
Edit à 16:46 : ça y est j'ai trouvé, c'est une histoire d'affichage "modal", voici le code :
UserForm1.Show 0
je n'avais pas tapé le "0"... J'ai appris pleins de truc aujourd'hui et merci pour votre aide.
Je suppose qu'il doit y avoir plus simple et mieux que ce que j'obtiens, mais bon, pour un début, je suis heureux :D
gfv
Mais il me reste un problème auquel je me heurte :
- je n'arrive pas à sélectionner une cellule de l'agenda, ni faire de ScollUp ou ScrollDown lorsque ma fenêtre est active. Ceci m'impose donc de sélectionner mes cellules avant de lancer ma fenêtre de coloriage, ce qui est une contrainte.
je pense arriver au bout de ma "débrouillardise"...
gfv
Edit à 16:46 : ça y est j'ai trouvé, c'est une histoire d'affichage "modal", voici le code :
UserForm1.Show 0
je n'avais pas tapé le "0"... J'ai appris pleins de truc aujourd'hui et merci pour votre aide.
Je suppose qu'il doit y avoir plus simple et mieux que ce que j'obtiens, mais bon, pour un début, je suis heureux :D
gfv