Colorer une ligne suivant contenu d'une cellule
Fermé
simkmil
Messages postés
414
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
1 mars 2023
-
8 févr. 2021 à 20:45
simkmil Messages postés 414 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 1 mars 2023 - 16 mars 2021 à 17:14
simkmil Messages postés 414 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 1 mars 2023 - 16 mars 2021 à 17:14
A voir également:
- Colorer une ligne suivant contenu d'une cellule
- Excel colorer une cellule sous condition d'une autre cellule ✓ - Forum Excel
- Aller à la ligne dans une cellule excel - Guide
- Colorer cellule excel sous condition - Guide
- Figer une ligne excel - Guide
- Apparaitre hors ligne whatsapp - Guide
8 réponses
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
8 févr. 2021 à 21:32
8 févr. 2021 à 21:32
bonjour,
je pense que tu peux facilement faire cela en VBA.
toutefois je n'ai pas vraiment compris: une colonne, cette colonne, ma ligne, la cellule paiement, le reste.
je pense que tu peux facilement faire cela en VBA.
toutefois je n'ai pas vraiment compris: une colonne, cette colonne, ma ligne, la cellule paiement, le reste.
Merci bcp de ton aide. Je vais t'envoyer de meilleures explications ainsi qu'un exemple de ma feuille afin que ce soit plus compréhensible.
Je fais cela dès que je suis sûr mon pc car actuellement je suis sûr mon iPad.
Merci et ... À dans quelques minutes .
Je fais cela dès que je suis sûr mon pc car actuellement je suis sûr mon iPad.
Merci et ... À dans quelques minutes .
simkmil
Messages postés
414
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
1 mars 2023
31
Modifié le 10 févr. 2021 à 13:54
Modifié le 10 févr. 2021 à 13:54
enfin, me voici devant mon pc !

voici donc une partie de mon fichier, ainsi qu'une vue sur la feuille en question.
Donc, dans la colonne "paiement reçu" j'aurai une liste déroulante avec OUI et NON
Dans le cas où le paiement n'est pas encore reçu, je voudrais que la ligne entière se colorise en jaune.
Ainsi que je l'ai dit hier, je sais le faire avec une MFC, mais seulement valable pour le partie sélectionnée or je voudrais que cela continue au fur et à mesure de l'augmentation de nouvelles lignes.
Merci de ton aide
Sub ArchiverBC()
'archiver les Bons de commande dans l'historique clients et incrémenter le numéro de Bon de commande
ligne = Sheets("Historique_Commande").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Historique_Commande").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value 'numero BC
Sheets("Historique_Commande").Range("B" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value & " " & Sheets("Bon de Commande").Range("E5").Value 'Nom
Sheets("Historique_Commande").Range("C" & ligne).Value = Sheets("Bon de Commande").Range("C6").Value & " " & Sheets("Bon de Commande").Range("C7").Value & " " & Sheets("Bon de Commande").Range("C8").Value 'Adresse
Sheets("Historique_Commande").Range("E" & ligne).Value = Sheets("Bon de Commande").Range("C9").Value 'Téléphone
Sheets("Historique_Commande").Range("F" & ligne).Value = Sheets("Bon de Commande").Range("J6").Value 'Fournisseur
Sheets("Historique_Commande").Range("G" & ligne).Value = Sheets("Bon de Commande").Range("A14").Value 'Désignation 1
Sheets("Historique_Commande").Range("H" & ligne).Value = Sheets("Bon de Commande").Range("A15").Value 'Désignation 2
Sheets("Historique_Commande").Range("I" & ligne).Value = Sheets("Bon de Commande").Range("A16").Value 'Désignation 3
Sheets("Historique_Commande").Range("J" & ligne).Value = Sheets("Bon de Commande").Range("D3").Value 'Date
Sheets("Historique_Commande").Range("N" & ligne).Value = Sheets("Bon de Commande").Range("Q28").Value 'Acompte
Sheets("Historique_Commande").Range("K" & ligne).Value = Sheets("Bon de Commande").Range("E23").Value 'PV. TTC
Sheets("Historique_Commande").Range("D" & ligne).Value = Sheets("Bon de Commande").Range("N7").Value 'Pays
Sheets("Historique_Commande").Range("M" & ligne).Value = Sheets("Bon de Commande").Range("H6").Value 'PA. HT
'Sheets("Historique_Commande").Range("L & ligne).Value = range("K"&ligne).value / range("M" & ligne) 'coeficient
Sheets("Historique_Commande").Range("P" & ligne).Value = Sheets("Bon de Commande").Range("B23").Value 'date Livraison
Sheets("Historique_Commande").Range("R" & ligne).Value = Sheets("Bon de Commande").Range("J9").Value 'Vendeur
'Sheets("Historique_Commande").Range("P" & ligne).Value = Sheets("Bon de Commande").Range("E115").Value 'Pourcentage du Vendeur
'Sheets("Historique_Commande").Range("R" & ligne).Value = Sheets("Bon de Commande").Range("B142").Value 'Remarque
Sheets("Historique_Commande").Range("U" & ligne).Value = Sheets("Bon de Commande").Range("B100").Value 'Livraison
voici donc une partie de mon fichier, ainsi qu'une vue sur la feuille en question.
Donc, dans la colonne "paiement reçu" j'aurai une liste déroulante avec OUI et NON
Dans le cas où le paiement n'est pas encore reçu, je voudrais que la ligne entière se colorise en jaune.
Ainsi que je l'ai dit hier, je sais le faire avec une MFC, mais seulement valable pour le partie sélectionnée or je voudrais que cela continue au fur et à mesure de l'augmentation de nouvelles lignes.
Merci de ton aide
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
9 févr. 2021 à 11:45
9 févr. 2021 à 11:45
peux-tu utiliser les balises de code? https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
9 févr. 2021 à 11:50
9 févr. 2021 à 11:50
ne peux-tu pas appliquer la MFC à l'ensemble de la feuille?
simkmil
>
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
9 févr. 2021 à 12:30
9 févr. 2021 à 12:30
en effet, ce n'est pas la première fois que l'on me demande d'utiliser les balises, je voudrais le faire car la présentation est bien plus compréhensible. Mais lorsque je suis le chemin indiqué, il est inscrit que pour le VBA il faut prendre "Basic", ce que j'ai fait. Merci de me donner une explication qui me permettrait d'afficher mon code avec les numeros de ligne tel que je les vois souvent .
merci
merci
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
>
simkmil
9 févr. 2021 à 13:20
9 févr. 2021 à 13:20
à propos des balises: lis attentivement la page d'explications.
simkmil
>
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
9 févr. 2021 à 15:58
9 févr. 2021 à 15:58
Si, j'aimerais le faire, ce serait bien plus aisé ! Mais si j'applique ma MFC à l'ensemble de la feuille, toutes les lignes non encore remplies deviennent jaunes or je voudrais qu'elles restent blanches et seulement devenir jaune si la condition est réalisée
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
11 févr. 2021 à 09:41
11 févr. 2021 à 09:41
Bonjour,
Pourquoi ne pas faire une boucle sur la colonne concernée comme ceci:
Voilà
Pourquoi ne pas faire une boucle sur la colonne concernée comme ceci:
Option Explicit
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Set FL1 = Worksheets("Feuil1") ' a adapter
NoCol = 11 'lecture de la colonne k a adapter
For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4)
Var = FL1.Cells(NoLig, NoCol)
If Var = "OUI" Then ' a adapter
Rows(NoLig & ":" & NoLig).Interior.Color = 65535 ' a adapter
End If
Next
Set FL1 = Nothing
End Sub
Voilà
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup de ton aide, je vais essayer cela et reviens dire si ça fonctionne pour moi. Merci
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
22 févr. 2021 à 13:10
22 févr. 2021 à 13:10
peux-tu donner suite, ou marquer comme résolu?
simkmil
Messages postés
414
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
1 mars 2023
31
28 févr. 2021 à 16:33
28 févr. 2021 à 16:33
Merci cs_Le Pivert
j'ai essayé plusieurs fois et je n'obtiens aucun résultat.
Afin de faire l'essai, j'ai ouvert un nouveau classeur; dans ce classeur j'ai mis ton code dans un module 1
et sur ma feuille 1 j'ai écrit "OUI" dans une ligne de la colonne K
et cette ligne de code bloque
For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4)
je ne comprends pas car je n'ai jamais employé SPLIT, ni Usedrange donc je ne sais pas voir d'où vient le blocage.
Merci de ton aide
j'ai essayé plusieurs fois et je n'obtiens aucun résultat.
Afin de faire l'essai, j'ai ouvert un nouveau classeur; dans ce classeur j'ai mis ton code dans un module 1
et sur ma feuille 1 j'ai écrit "OUI" dans une ligne de la colonne K
et cette ligne de code bloque
For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4)
je ne comprends pas car je n'ai jamais employé SPLIT, ni Usedrange donc je ne sais pas voir d'où vient le blocage.
Merci de ton aide
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
28 févr. 2021 à 19:48
28 févr. 2021 à 19:48
"cette ligne de code bloque": message d'erreur?
il est sans doute utile que tu nous montres tout le code, si jamais tu l'avais modifié.
il est sans doute utile que tu nous montres tout le code, si jamais tu l'avais modifié.
simkmil
Messages postés
414
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
1 mars 2023
31
28 févr. 2021 à 19:55
28 févr. 2021 à 19:55
je n'ai rien modifié au code. il est ci dessus (mais au cas où tu ne pourrais le voir car envoyé par cs_LePivert, je le recopie ci dessous :
Option Explicit
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Set FL1 = Worksheets("Feuil1") ' a adapter
NoCol = 11 'lecture de la colonne k a adapter
For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4)
Var = FL1.Cells(NoLig, NoCol)
If Var = "OUI" Then ' a adapter
Rows(NoLig & ":" & NoLig).Interior.Color = 65535 ' a adapter
End If
Next
Set FL1 = Nothing
End Sub
Option Explicit
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Set FL1 = Worksheets("Feuil1") ' a adapter
NoCol = 11 'lecture de la colonne k a adapter
For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4)
Var = FL1.Cells(NoLig, NoCol)
If Var = "OUI" Then ' a adapter
Rows(NoLig & ":" & NoLig).Interior.Color = 65535 ' a adapter
End If
Next
Set FL1 = Nothing
End Sub
simkmil
Messages postés
414
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
1 mars 2023
31
28 févr. 2021 à 19:57
28 févr. 2021 à 19:57
re bonsoir, j'ai réussi à le faire fonctionner car je m'étais trompé en n'affectant pas ce code a la bonne feuille.
Maintenant il fonctionne.
Mon seul problème est de le faire fonctionner automatiquement (sans déclencher l'exécution du code manuellement)
merci et bonne soirée.
Maintenant il fonctionne.
Mon seul problème est de le faire fonctionner automatiquement (sans déclencher l'exécution du code manuellement)
merci et bonne soirée.
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
28 févr. 2021 à 20:44
28 févr. 2021 à 20:44
il suffit de l'appeler dans la procédure Worksheet_Change de la feuille.
simkmil
Messages postés
414
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
1 mars 2023
31
>
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
16 mars 2021 à 17:14
16 mars 2021 à 17:14
Merci, je n'avais pas vu ta réponse, c'est pourquoi j'y réponds aussi tardivement.