aurelienerdeven
Messages postés3Date d'inscriptiondimanche 4 mai 2008StatutMembreDernière intervention10 avril 2010
-
9 avril 2010 à 23:16
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
10 avril 2010 à 12:06
bonjour
je dois faire une mise en forme d'une ligne.
j'ai une colonne dans laquelle j'ai des cellules vides
A chaque fois que je trouve une cellule vide je dois sélectionner la ligne complète et mettre une couleur rouge dans la ligne. Après avoir avoir mis la ligne en rouge il faut continuer à descendre dans la colonne pour voir s'il y a encore des cellules vides pour pouvoir les mettre en rouge et ainsi de suite jusqu'à la fin de la zone de données
j'espère que j'ai été clair
merci pour votre aide
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020372 10 avril 2010 à 07:51
Je pense que tu utilises VBA, quand tu as un probleme, il peut etre utile d'utiliser l'enregistreur de Macro.
Une fois que tu as récupéré la ligne à selectionner
Il suffit de faire Worksheet("nomDeLaFeuille").Range("A" & ligne & "Z" & ligne).Select
Puis Selection. ? 'l'instruction qui te permettra de mettre en rouge , je ne sais pas si tu veux que le fond de la cellule soit rouge ou si tu veux que ce soit le texte.
aurelienerdeven
Messages postés3Date d'inscriptiondimanche 4 mai 2008StatutMembreDernière intervention10 avril 2010 10 avril 2010 à 08:30
j'ai essayé ton instruction mais cela ne fonctionne pas
je te donne le code que j'ai commencé à écrire mais qui ne fonctionne pas tout à fait comme je veux. il ne manque pas grand chose je pense mais ca devient un peu compliqué pour moi
Sub E_MISE_EN_FORME_LIGNE_MACHINE()
'
' E_MISE_EN_FORME_LIGNE_MACHINE Macro
'
Range("F1").Select
Do While ActiveCell <> Empty
'c'est une instruction que j'ai trouvé mais qui ne fonctionne pas bien
'car ce que je souhaite c'est l'instruction recherche les cellules vides
'et non pas ce que fait cette instruction
'mais la boucle DO LOOP est obligatoire je pense pour rechercher les cellules vides dans la colonne (ici F)
'Sélection de la ligne
Selection.EntireRow.Select
'Mise en forme de la ligne
With Selection.Font
.Name = "Calibri"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -13421773
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
'sinon, on descend d'une ligne
ActiveCell.Offset(1, 0).Select
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020372 10 avril 2010 à 11:50
Essaye ca, ca fonctionne chez moi. Iil faut remplacer "Feuil1 par le nom de la feuille dans laquelle tu travaille.
Tiens moi au courant
Sub ColorisationLignesVides()
Dim nbLignes As Integer
Dim i As Integer
nbLignes = Worksheets("Feuil1").Range("F" & Worksheets("Feuil1").Rows.Count).End(xlUp).Row
'nbLigne est le nombre de lignes de la colonne F
For i = 1 To nbLignes
If Worksheets("Feuil1").Range("F" & i).Value = "" Then
Worksheets("Feuil1").Rows(i & ":" & i).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End If
Next i
End Sub