Macro texte en couleur
Bonjour,
J'ai un gros fichier de 4000 lignes sur excel
Ainsi dans ma colonne F j'ai des chiffres qui appartiennent à des personnes mais j'ai également le texte "Non inscrit" lorsque une personne n'a pas de chiffre
Ce que je souhaiterai faire c'est une macro qui me mettre en gris le texte "non inscrit".
Je sais que la manière la plus simple serait de le faire avec la MFC mais ce n'est pas ce que je recherche.
Merci d'avance pour votre aide
Bonjour à toutes et à tous,
Comme ceci ?
Option Explicit
Option Compare Text
Sub a()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, "F").End(xlUp).Row To 1 Step -1
If Range("F" & i) Like "*Non inscrit*" Then Range("F" & i).Font.ColorIndex = 15
Next i
Application.ScreenUpdating = True
End SubBonjour coquelicot
Je viens d'essayer ton code et il marche parfait sauf que ce dernier m'efface le texte "Non Inscrit" qu'il y'a écrit dans mes cellules mais sinon il me grise bien les cases
C'est juste le problème du pourquoi le code m'efface le texte ?
Merci d'avance
Enfaite c'est pa qu'il l'efface mon texte mais c'est juste qu'il met en blanc le texte " non inscrit" et moi je voudrai qu'il reste de couleur noir mais que la cellule soit grise par la suite
En fait je viens de comprends ton code et il met le texte en gris et moi ce que je souhaiterai c'est que le texte reste en noir mais que le fond soit gris
En gros que le remplissage soit gris
Re-bonjour,
Dans ce cas :
Option Explicit
Option Compare Text
Sub a()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, "F").End(xlUp).Row To 1 Step -1
If Range("F" & i) Like "*Non inscrit*" Then Range("F" & i).Interior.ColorIndex = 15
Next i
Application.ScreenUpdating = True
End SubBonjour le fil, bonjour le forum,
Deux autres propositions :
1- si F1 contient un titre :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim PLV As Range 'déclare la variable PLV (PLage Visible)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
DL = O.Cells(Application.Rows.Count, 6).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 6 (=F) de l'ongle O
Set PL = O.Range("F2:F" & DL) 'définit la plage PL (sans la première ligne considérée comme étiquette/titre)
O.Range("F1").AutoFilter Field:=1, Criteria1:="Non inscrit" 'fitre la colonne F avec "Non inscrit" comme critère
Set PLV = PL.SpecialCells(xlCellTypeVisible) 'définit la plage PLV (la plage PL visible)
PLV.Font.ColorIndex = 15 'modifie la couleur du texte de la plage PLV
O.Range("F1").AutoFilter 'supprime le filtre automatique
End Sub2- sinon :
Sub Macro2()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
DL = O.Cells(Application.Rows.Count, 6).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 6 (=F) de l'ongle O
Set PL = O.Range("F1:F" & DL) 'définit la plage PL (sans la première ligne considérée comme étiquette/titre)
For Each CEL In PL 'boucle sur toutes les cellulles CEL de la plage PL
'si la cellule est égale à "Non Inscrit", modifie la couleur de la cellule
If CEL.Value = "Non inscrit" Then CEL.Interior.ColorIndex = 15
Next CEL 'prochaine cellule de la boucle
End SubDésolée du dérangement j'avais trouvé la solution il fallait juste changer le font en Interior
Erreur d'inattention de ma part
Merci beaucoup coquelicot !
Et merci pour tes deux autres solution thau thème