ColorIndex = valeur du colorIndex d'une autre cellule [Résolu]

Messages postés
2
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
30 juillet 2011
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 30 juil. 2011 à 19:18
Bonjour,

j'ai une feuille où la collonne A définit des utilisateurs et la collone B définit les couleurs attribuées à ces utilisateurs. Lors du déroulement d'une macro, je souhaite récupérer la valeur du colorindex de la cellule B correspondant à l'utilisateur...

soit un code du genre :

rechercheverticale de "Utilisateur" dans la collonne A de la feuil1
Then X = valeur du colorIndex de cellule B même ligne que A de la rechercheverticale...

ci-après le bout de code fait par un prédecesseur (en gras, la partie que je souhaite remplacer pour éviter de modifier le code à chaque nouvel utilisateur) :

If ComboNomUtilisateur "Maintenance" Then X 1
If ComboNomUtilisateur.ListIndex = -1 Then
InsérerNomDansLaBase
End If

With Worksheets(ListBoxVh.Value)
If CDate(ComboDateDébut) = CDate(ComboDateFin) Then
.Cells(LigneDeDateDébut, ColonneDébut + 1) = ComboNomUtilisateur & " " & TextBox1
For compteurDeColonne = ColonneDébut + 1 To ColonneFin - 1
.Cells(LigneDeDateDébut, compteurDeColonne).Interior.ColorIndex = X

Merci par avance
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
2
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
30 juillet 2011
3
Merci
J'ai finit par trouver une solution de secours..
celà oblige à colorer la case de l'utilisateur (A1) et non celle à côté (B1)

ci-après le code remplacant la définition des couleurs par utilisateur au sein de la macro (If ComboNomUtilisateur "Maintenance" Then X 1) et qui nécessitait de toucher au code VBA à chaque nouvel entrant... (1 ligne par utilisateur)


 Dim x As Range
 With Sheets("Feuille1)
         Set x = Sheets("Feuille1).Range("a1:B10").Find(ComboNomUtilisateur, , xlValues, xlWhole, , , False)



pour la suite du code, j'ai ajouté ".Interior.ColorIndex" derrière chaque X faisant appel au couple (utilisateur/couleur)

Merci à ceux qui on tenté de m'aider.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 196 internautes nous ont dit merci ce mois-ci

Commenter la réponse de coutcho
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Boinjour,

Ta question est pour le moins "décousue" et le code montré (que tu n'as pas l'air de comprendre) n'est pas en rapport direct avec ce que tu dis être ton problème !
Et la valeur de X reste un mystère, tant en ce qui concerne ce qu'elle est censée représenter (bien que l'on devine de quoi il s'agit) que ce qu'elle est ou devientnlorsque l'article dont le contenu est "Maintenance" n'est pas celui cliqué dans la combo nommée ComboNomUtilisateur.
On ignore par ailleurs ce que sont tes autres variables, leurs valeurs et où elles sont calculées !
Dans de telles conditions, la seule chose que l'on peut te dire est que la propriété ColorIndex est accessible en lecture et en écriture. Tu peux donc en lire la valeur dans la cellule de ton choix et appliquer cette valeur à celle de ton choix !
Voilà ===>> applique au code "que tu as" après l'avoir analysé et compris (c'est là un pas indispensable)


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Tu aurais peut-être intérêt (c'est mon petit doigt qui me le dit) à revenir avec une question du genre :
Titre : "détermination d'une plage de cellules répondant à un critère"
Exposé : "je cherche à déterminer une plage de cellules répondant à ..... ton critère ...., puis de lui attribuer une valeur de Interior.colorIndex égale à celle d'une autre cellule, répondant quant à elle à .... ton autre critère ..."
En faisant abstraction de tout le reste, qui demeurera ce qu'il est, à savoir le contexte dans lequel tu détermines tes critères et la cellule "modèle" net ne regarde que toi.


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Tu n'avais nul besoin de passer par ce subterfuge superfétatoire.
Il te suffisait de chercher dans la colonne A, trouver la cellule et uitiliser Offset pour pointer sur la cellule d'à coté !

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Commenter la réponse de ucfoutu