2 conditions dans une boucle
pascalou83400
Messages postés
277
Date d'inscription
Statut
Membre
Dernière intervention
-
pascalou83400 Messages postés 277 Date d'inscription Statut Membre Dernière intervention -
pascalou83400 Messages postés 277 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je cherche à imbriquer ces 2 conditions, dans ma boucle, mais cela ne fonctionne pas.
Pourriez vous m'éclairer sur le bon code.
Merci.
Je cherche à imbriquer ces 2 conditions, dans ma boucle, mais cela ne fonctionne pas.
Pourriez vous m'éclairer sur le bon code.
Merci.
' Met les cellule en vert dans la colonne C si dans Colonne AK = "Notre Sélection" Dim PL As Range Dim PLV As Range Dim Cel As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' With Worksheets(I) 'Balayage de la colonne A17, jusqu'à la dernière cellule renseignée For Each Cel In .Range("AH18:AH" & .Range("AH" & Rows.Count).End(xlUp).Row) 'Si la cellule contient "Notre Sélection" If Cel.Value = "Notre Sélection" Then 'alors, remplir la cellule correspondante en colonne A/D en vert .Cells(Cel.Row, 1).Resize(1, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 .Cells(Cel.Row, 1).Resize(1, 4).Font.Bold = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 57 ' (souligné).Font.Underline = xlUnderlineStyleSingle Else ' mais si il n'y a pas Notre Selection alors on met un fond neutre .Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone .Cells(Cel.Row, 3).Resize(1, 4).Font.Bold = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 55 ' .Font.Underline = xlUnderlineStyleSingleNone(non souligné) End If Next Cel End With ' Met les cellule en vert dans la colonne C si dans Colonne AK = "Truffaut Sélection" ' Dim PL As Range ' Dim PLV As Range ' Dim Cel As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' ' With Worksheets(I) 'Balayage de la colonne A17, jusqu'à la dernière cellule renseignée ' For Each Cel In .Range("AI18:AI" & .Range("AI" & Rows.Count).End(xlUp).Row) 'Si la cellule contient "Truffaut Sélection" ' If Cel.Value = "Truffaut Sélection" Then 'alors, remplir la cellule correspondante en colonne A/D en vert ' .Cells(Cel.Row, 1).Resize(1, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 ' .Cells(Cel.Row, 1).Resize(1, 4).Font.Bold = True ' .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = True ' .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 57 ' (souligné).Font.Underline = xlUnderlineStyleSingle ' Else ' mais si il n'y a pas Truffaut Selection alors on met un fond neutre ' .Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone ' .Cells(Cel.Row, 3).Resize(1, 4).Font.Bold = False ' .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = False ' .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 55 ' .Font.Underline = xlUnderlineStyleSingleNone(non souligné) ' End If ' Next Cel ' End With
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- 2 conditions dans une boucle
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
- Mise en forme conditionnelle excel plusieurs conditions - Guide
10 réponses
Bonjour,
imbriquer ces 2 conditions lesquelles er qu'est-ce qui ne fonctionne pas ?????
Dans le code (qui marche), y a pas de couleur programmee
imbriquer ces 2 conditions lesquelles er qu'est-ce qui ne fonctionne pas ?????
Dans le code (qui marche), y a pas de couleur programmee
Bonjour f894009,
Merci pour ton aide.
Je n'avais pas rectifié les explications du code.
Je veux que si l'une des 2 conditions sont remplies alors je met en italique gras.
J'ai réécrit ce code mais code erreur next sans FOR
Alors j'ai modifié avec ce code et toujours le même code erreur ?
Je ne comprends pas ce que je dois faire.
j'ai tenté celui la et la rien ne ce passe
Merci pour ton aide.
Je n'avais pas rectifié les explications du code.
Je veux que si l'une des 2 conditions sont remplies alors je met en italique gras.
J'ai réécrit ce code mais code erreur next sans FOR
' Met la police en italique et gras dans la colonne A/D si dans Colonne AH = "Notre Sélection" Dim PL As Range Dim PLV As Range Dim Cel As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' With Worksheets(I) 'Balayage de la colonne AH18, jusqu'à la dernière cellule renseignée For Each Cel In .Range("AH18:AI" & .Range("AH" & Rows.Count).End(xlUp).Row) 'Si la cellule contient "Notre Sélection" If Cel.Value = "Notre Sélection" Then If Cel.Value = "Truffaut Sélection" Then 'alors, on modifie la police correspondante en colonne A/D '.Cells(Cel.Row, 1).Resize(1, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 .Cells(Cel.Row, 1).Resize(1, 4).Font.Bold = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 57 Else ' mais si il n'y a pas Notre Selection alors on met la police en standard '.Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone .Cells(Cel.Row, 3).Resize(1, 4).Font.Bold = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 55 End If Next Cel End With
Alors j'ai modifié avec ce code et toujours le même code erreur ?
Je ne comprends pas ce que je dois faire.
' Met la police en italique et gras dans la colonne A/D si dans Colonne AH = "Notre Sélection" Dim PL As Range Dim PLV As Range Dim Cel As Range Dim Cel2 As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' With Worksheets(I) 'Balayage de la colonne AH18, jusqu'à la dernière cellule renseignée For Each Cel In .Range("AH18:AI" & .Range("AH" & Rows.Count).End(xlUp).Row) 'Si la cellule contient "Notre Sélection" If Cel.Value = "Notre Sélection" Then If Cel2.Value = "Truffaut Sélection" Then 'alors, on modifie la police correspondante en colonne A/D '.Cells(Cel.Row, 1).Resize(1, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 .Cells(Cel.Row, 1).Resize(1, 4).Font.Bold = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 57 Else ' mais si il n'y a pas Notre Selection alors on met la police en standard '.Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone .Cells(Cel.Row, 3).Resize(1, 4).Font.Bold = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 55 End If Next Cel Next Cel2 End With
j'ai tenté celui la et la rien ne ce passe
' Met la police en italique et gras dans la colonne A/D si dans Colonne AH = "Notre Sélection" Dim PL As Range Dim PLV As Range Dim Cel As Range Dim Cel2 As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' With Worksheets(I) 'Balayage de la colonne AH18, jusqu'à la dernière cellule renseignée For Each Cel In .Range("AH18:AI" & .Range("AH" & Rows.Count).End(xlUp).Row) 'Si la cellule contient "Notre Sélection" If Cel.Value = "Notre Sélection" & "Truffaut Sélection" Then ' If Cel2.Value = "Truffaut Sélection" Then 'alors, on modifie la police correspondante en colonne A/D '.Cells(Cel.Row, 1).Resize(1, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 .Cells(Cel.Row, 1).Resize(1, 4).Font.Bold = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 57 Else ' mais si il n'y a pas Notre Selection alors on met la police en standard '.Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone .Cells(Cel.Row, 3).Resize(1, 4).Font.Bold = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 55 End If Next Cel ' End If ' Next Cel2 End With
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
Re,
les cellules colonnes AH ne peuvent pas contenir "Notre Sélection" et"Truffaut Sélection" en meme temps !!!!!!!!!!!!!!!!!!!!!!!!!!
les cellules colonnes AH ne peuvent pas contenir "Notre Sélection" et"Truffaut Sélection" en meme temps !!!!!!!!!!!!!!!!!!!!!!!!!!
Sub test() Dim PL As Range Dim PLV As Range Dim Cel As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' With Worksheets(I) 'Balayage de la colonne AH18, jusqu'à la dernière cellule renseignée For Each Cel In .Range("AH18:AI" & .Range("AH" & Rows.Count).End(xlUp).Row) 'Si la cellule contient "Notre Sélection" If Cel.Value = "Notre Sélection" Or Cel.Value = Cel.Value = "Truffaut Sélection" Then 'alors, on modifie la police correspondante en colonne A/D '.Cells(Cel.Row, 1).Resize(1, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 .Cells(Cel.Row, 1).Resize(1, 4).Font.Bold = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = True .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 57 Else ' mais si il n'y a pas Notre Selection alors on met la police en standard '.Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone .Cells(Cel.Row, 3).Resize(1, 4).Font.Bold = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Italic = False .Cells(Cel.Row, 1).Resize(1, 4).Font.Size = 55 End If Next Cel End With End Sub
ha oui je n'avais pas précisé que dans AH il y a notre selection et dans AI truffaut selection et que du moment il y a une des 2 alors on change la police.
Je vais essayer ton code et je reviens vers toi.
Merci.
Je vais essayer ton code et je reviens vers toi.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon je ne marche pas, ca ne met pas en gras italique si j'ai notre selection ou truffaut selection.
Peut etre que cela vient que j'ai 1 colonne pour notre selection en AH et que la 2 eme colonne truffaut selection est en AI.
Quand je mets For Each Cel In .Range("AH18:AI" & .Range("AH" & Rows.Count).End(xlUp).Row) il cherche bien dans les 2 colonnes ?
Je ne comprends pas tout en vba, merci pour ton aide.
Peut etre que cela vient que j'ai 1 colonne pour notre selection en AH et que la 2 eme colonne truffaut selection est en AI.
Quand je mets For Each Cel In .Range("AH18:AI" & .Range("AH" & Rows.Count).End(xlUp).Row) il cherche bien dans les 2 colonnes ?
Je ne comprends pas tout en vba, merci pour ton aide.
Merci pour ta patience.
Je veux mettre en gras italique les cellules de A/D si dans la colonne AH il y a d'écrit notre selection et ou dans la colonne AI il y a d'écrit Truffaut selection, je peux avoir les 2 conditions de remplies pour une ligne,et si il n'y a rien alors on met la police ni gras et ni italique.
Bon j'espère que c'est explicite ?
Je veux mettre en gras italique les cellules de A/D si dans la colonne AH il y a d'écrit notre selection et ou dans la colonne AI il y a d'écrit Truffaut selection, je peux avoir les 2 conditions de remplies pour une ligne,et si il n'y a rien alors on met la police ni gras et ni italique.
Bon j'espère que c'est explicite ?
Ok merci, je tourne le code dans tout les sens et je ne trouve pas.
Re,
Sub test() Dim PL As Range Dim PLV As Range Dim Cel As Range Dim Plage As Range 'Nom de feuille à adapter ' ActiveWorkbook.Worksheets("Feuil1")' With Worksheets("Feuil1") 'Balayage de la colonne AH18, jusqu'à la dernière cellule renseignée Set Plage = Range("AH18:AH" & .Range("AH" & Rows.Count).End(xlUp).Row) For Each Cel In Plage 'Si (la cellule AHxx contient "Notre Sélection" ou la cellule AIxx contient "Truffaut Sélection" If Cel.Value = "Notre Sélection" Or Cel.Offset(, 1).Value = "Truffaut Sélection" Then 'alors, on modifie la police correspondante en colonne A/D '.Cells(Cel.Row, 1).Resize(, 4).Font.ColorIndex = xlAutomatic ' Interior.ColorIndex = 4 .Cells(Cel.Row, 1).Resize(, 4).Font.Bold = True .Cells(Cel.Row, 1).Resize(, 4).Font.Italic = True .Cells(Cel.Row, 1).Resize(, 4).Font.Size = 57 Else ' mais si il n'y a pas Notre Selection alors on met la police en standard '.Cells(Cel.Row, 3).Resize(1, 4).Font.ColorIndex = xlAutomatic '.Interior.ColorIndex = xlNone .Cells(Cel.Row, 1).Resize(, 4).Font.Bold = False .Cells(Cel.Row, 1).Resize(, 4).Font.Italic = False .Cells(Cel.Row, 1).Resize(, 4).Font.Size = 55 End If Next Cel End With End Sub
Bon j'ai fait des essais ca marche, mais je n'ai pas compris le code je vais le décortiquer et je verrai si je comprends.
Je te remercie pour ton aide si précieuse.
Je te souhaite une bonne soirée.
Amicalement.
Pascal
Je te remercie pour ton aide si précieuse.
Je te souhaite une bonne soirée.
Amicalement.
Pascal
Si je peux abuser, j'avais un code que m'avait donné ThauTHeme, mais j'ai jamais reusi à l'integrer dans ma boucle, je veux que le filtre reste sur la ligne A17, et il m'avait donné ce code :
Dim I as Integer
For I = 1 To Sheets.Count
If Sheets(I).FilterMode = False Then Sheets(I).Range("A17").AutoFilter
Next I
merci par avance si tu as encore un peu de patience pour un pauvre novice.
Dim I as Integer
For I = 1 To Sheets.Count
If Sheets(I).FilterMode = False Then Sheets(I).Range("A17").AutoFilter
Next I
merci par avance si tu as encore un peu de patience pour un pauvre novice.