EXCEL - VBA - ajout d'un couleur dans une boucle

  • Initiateur de la discussion Initiateur de la discussion airsage
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

airsage

XLDnaute Junior
Bonjour,

Voici la boucle que j'utilise et qui fonctionne.

Set f = Sheets("TI_Compil")
Set mondico = CreateObject("Scripting.Dictionary")
a = f.Range("a2:q" & f.[a65000].End(xlUp).Row)
For i = LBound(a) To UBound(a)
mondico(a(i, 1)) = a(i, 16)
Next i
Set f = Sheets("OPEN")
For Each C In f.Range("a2:a" & f.[a65000].End(xlUp).Row)
If mondico.exists(C.Value) Then C.Offset(, 30).Value = mondico(C.Value)
Next C


Dans la feuille "OPEN", si la valeur de la colonne 30 est modifiée, il faudrait aussi colorier la cellule (jaune par exemple).

Merci pour votre aide.

Cordialement.
 
Re : EXCEL - VBA - ajout d'un couleur dans une boucle

Bonjour airsage,

Essaie comme ceci :

Code:
Set f = Sheets("TI_Compil")
Set mondico = CreateObject("Scripting.Dictionary")
a = f.Range("a2:q" & f.[a65000].End(xlUp).Row)
For I = LBound(a) To UBound(a)
mondico(a(I, 1)) = a(I, 16)
Next I
Set f = Sheets("OPEN")
For Each C In f.Range("a2:a" & f.[a65000].End(xlUp).Row)
If mondico.exists(C.Value) Then
  C.Offset(, 30).Value = mondico(C.Value)
  C.Offset(, 30).Interior.ColorIndex = 6
End If
Next C
Cordialement.
 
Re : EXCEL - VBA - ajout d'un couleur dans une boucle

Re bonjour,

Une autre contrainte dont je n'avais pas pensé avant.

Dans le code ci dessus, il faudrait que dans le Feuille "TI_Compil", si dans la colonne "16", la cellule est vide. Ne pas modifier la cellule "30" de la Feuille "OPEN".

Cordialement.
 
Re : EXCEL - VBA - ajout d'un couleur dans une boucle

RE:

Peut-être comme ceci :

Code:
Set f = Sheets("TI_Compil")
Set mondico = CreateObject("Scripting.Dictionary")
a = f.Range("a2:q" & f.[a65000].End(xlUp).Row)
For I = LBound(a) To UBound(a)
mondico(a(I, 1)) = a(I, 16)
Next I
Set f = Sheets("OPEN")
For Each C In f.Range("a2:a" & f.[a65000].End(xlUp).Row)
If mondico.exists(C.Value) And mondico(C.Value) <> "" Then
  C.Offset(, 30).Value = mondico(C.Value)
  C.Offset(, 30).Interior.ColorIndex = 6
End If
Next C
Mais pas facile d'être affirmatif sans pouvoir tester sur pièce.

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
193
Réponses
3
Affichages
512
Réponses
12
Affichages
554
Réponses
5
Affichages
291
Réponses
10
Affichages
447
Réponses
4
Affichages
212
Retour