EXCEL - VBA - modifier le couelur du'une cellule avec condition

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

airsage

XLDnaute Junior
Bonjour à tous,

Je cherche à faire la modification de la couleur d'une cellule à partir de cette formule :

Sheets("UNIX_SERVER").Select
Set f = Sheets("Server_Application")
Set mondico = CreateObject("Scripting.Dictionary")
a = f.Range("a2:i" & f.[a65000].End(xlUp).Row)
For i = LBound(a) To UBound(a)
mondico(a(i, 9)) = a(i, 3)
Next i
Set f = Sheets("UNIX_SERVER")
For Each c In f.Range("G5:G" & f.[G65000].End(xlUp).Row)
If mondico.exists(c.Interior.Color) Then c.Offset(, -3).Value = mondico(c.Interior.Color)
Next c

Je ne veux pas copier le texte dans la cellule d'arrivée, mais uniquement la couleur de remplissage, tout en ne supprimant pas le texte de la cellule d'arrivée.

apparemment Interior.Color ne fonctionne pas.


merci par avance si quelqu'un peut m'aider.
 

Pièces jointes

Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : EXCEL - VBA - modifier le couelur du'une cellule avec condition

Bonjour airsage

Pour t'aider à comprendre je te suggère de tester d'abord ceci :

Code:
For Each c In f.Range("G5:G" & f.[G65000].End(xlUp).Row)
    c.Offset(, -3).Interior.Color =c.Interior.Color
Next c
 

airsage

XLDnaute Junior
Re : EXCEL - VBA - modifier le couelur du'une cellule avec condition

Bonjour,

La condition est que si les "server" de la feuille "UNIX_SERVER" (colonne G) apparaissent dans la feuille "Server_Application" (colonne I), alors prendre uniquement la couleur de la feuille "Server_Application" colonne C, (sans le texte) et l'appliquer dans la feuille "UNIX_SERVER" colonne D sans modifier le texte).
 

pierrejean

XLDnaute Barbatruc
Re : EXCEL - VBA - modifier le couelur du'une cellule avec condition

Re

Tester:
Code:
Sub Test()
Sheets("UNIX_SERVER").Select
Set f = Sheets("Server_Application")
Set mondico = CreateObject("Scripting.Dictionary")
Set a = f.Range("i2:i" & f.[a65000].End(xlUp).Row)
For Each cel In a
  mondico(cel.Value) = cel.Offset(0, -6).Interior.Color
Next
Set f = Sheets("UNIX_SERVER")
For Each c In f.Range("G5:G" & f.[G65000].End(xlUp).Row)
If mondico.exists(c.Value) Then c.Offset(, -3).Interior.Color = mondico(c.Value)
Next c
End Sub
 

Discussions similaires

Réponses
3
Affichages
437
  • Question Question
Microsoft 365 SOMMEPROD en vba excel
Réponses
12
Affichages
460
Réponses
9
Affichages
361
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
473
Réponses
1
Affichages
444
Réponses
17
Affichages
1 K
  • Question Question
Microsoft 365 TEXTBOX
Réponses
7
Affichages
532
Réponses
3
Affichages
474
Réponses
0
Affichages
606

Statistiques des forums

Discussions
315 289
Messages
2 118 071
Membres
113 421
dernier inscrit
MagicVander