ColorIndex = valeur du colorIndex d'une autre cellule

Résolu
coutcho Messages postés 2 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 30 juillet 2011 - 30 juil. 2011 à 14:27
ucfoutu Messages postés 18038 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

4 réponses

coutcho Messages postés 2 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 30 juillet 2011
30 juil. 2011 à 18:28
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.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juil. 2011 à 14:45
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juil. 2011 à 14:55
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juil. 2011 à 19:18
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
0
Rejoignez-nous