Sélection lignes selon couleur colonne

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cookiedelu

Guest
Bonjour à tous,

Comme beaucoup, je suis un grand débutant des macros Excel et je bloque sur la dernière partie de la mienne. J'espère que vous pourrez m'aider un tout petit peu.
J'explique mon problème :

J'ai une feuille feuil1 dans un classeur Lambda qui contient un tableau de 8 colonnes sur plusieurs centaines de lignes.
Une douzaine de ces lignes a la colonne A en couleur (mise manuellement).
Je souhaite sélectionner les lignes dont la colonne A est en couleur pour les copier et les coller dans un autre classeur.

Quelqu'un pourrait-il me donner les grandes lignes ?

Merci infiniment.

Cookie
 
Re : Sélection lignes selon couleur colonne

Bonsoir


Tu peux essayer de partir de cette macro

Code:
Sub CopyColor() 
'auteur: Dave Hawley
    Dim rReply As  Range, rCell As Range 
    Dim lCol As Long 
     
    Set rReply = Application.InputBox _ 
    (Prompt:="Sélectionner une cellule colorée de référence, pour procéder à la copie", Type:=8) 
     '[COLOR=Green]couleur des cellules à copier[/COLOR]
    lCol = rReply.Interior.ColorIndex 
     
    For Each rCell In ActiveSheet.UsedRange 
        If rCell.Interior.ColorIndex = lCol Then 
[COLOR=Green]'si la cellule a la bonne couleur
'recopie vers la feuille 2[/COLOR]
            rCell.Copy Destination:=Sheet2.Range("A65536").End(xlUp)(2, 1) 
        End If 
    Next rCell 
     
End Sub
 
Dernière édition:
Re : Sélection lignes selon couleur colonne

Merci beaucoup pour ta réponse rapide. Je n'ai pas eu le temps de faire le test plus tôt.
J'ai donc essayé ce code en le customisant mais il ne me copie que la première colonne. Y aurait-il une solution pour qu'il me copie toute la ligne ?
 
Re : Sélection lignes selon couleur colonne

Bonsoir à tous,
Quand je parle de customisation, je parle à vrai dire d'adaptation pour ma macro. je m'explique donc :

J'ai activé mon classeur avec la feuille qui va bien puis j'ai inséré le code.

Code:
Sub CopyColor() 
'auteur: Dave Hawley
    Dim rReply As  Range, rCell As Range 
    Dim lCol As Long 
     
    Set rReply = Application.InputBox _ 
    (Prompt:="Sélectionner une cellule colorée de référence, pour procéder à la copie", Type:=8) 
     'couleur des cellules à copier
    lCol = rReply.Interior.ColorIndex

Donc il m'a demandé de choisir ma cellule afin de prendre son contenu ce que j'ai fait puis il a commencé à faire son travail (d'ailleurs j'ai dû changer un paramètre ou deux parce qu'à l'origine il passait pas à la cellule suivante et me recopiait les deux premières colonnes parce que la colonne B est également dans la même couleur).

Code:
    For Each rCell In ActiveSheet.UsedRange 
        If rCell.Interior.ColorIndex = lCol Then 
'si la cellule a la bonne couleur
'recopie vers la feuille 2
            rCell.Copy Destination:=[COLOR="Red"]Workbooks("mon_classeur").Sheets("ma_feuille")[/COLOR].Range("A65536").End(xlUp)(2, 1) 
        End If 
    Next rCell 
     
End Sub

C'est sur la partie .End(xlUp)(2, 1) que j'ai changé le paramètre pour qu'il me prenne que la colonne A -> (1,1) ou quelque chose comme ça (désolé je n'ai plus le code devant mes yeux).
Et donc il m'a recopié la colonne A sans problème.
Voilà voilà, s'il y a un besoin de prendre la macro exacte, je pourrai vous la fournir en début de semaine.

Par la même occasion, serait-il possible de définir la couleur sans qu'il la demande à chaque fois que je lance la macro car la couleur ne change jamais.

Merci beaucoup.
 
Re : Sélection lignes selon couleur colonne

Bonjour à tous

EDITION: ce qui donnerait pour la couleur jaune par exemple

EDITION2:
Remplacer la ligne en en gras par cette ligne orange
'Pour copier "la ligne" dont la cellule de la colonne A a la bonne couleur
rCell.Resize(1, rCell.End(xlToRight).Column).Copy Destination:=Sheets("Feuil2").Range("A65536").End(xlUp)(2, 1)
Code:
Sub CopyColor()
'auteur: Dave Hawley
Dim rCell As Range
Dim lCol As Long
lCol = 6
    For Each rCell In Range("A1:A" & [A65536].End(xlUp).Row)
        If rCell.Interior.ColorIndex = lCol Then
       [B] rCell.Copy Destination:=Sheets("Feuil2").Range("A65536").End(xlUp)(2, 1)[/B]
        '[COLOR=Green]adapter le nom du classeur et le nom de la feuille[/COLOR]
    End If
    Next rCell
End Sub
Par la même occasion, serait-il possible de définir la couleur sans qu'il la demande à chaque fois que je lance la macro car la couleur ne change jamais.
Supprime ces lignes en bleu
Set rReply = Application.InputBox _
(Prompt:="Sélectionner une cellule colorée de référence, pour procéder à la copie", Type:=8)
'couleur des cellules à copier

lCol = 6 'ici mettre le numéro de ta couleur directement ici 6 pour l'exemple

ici
For Each rCell In ActiveSheet.UsedRange

changer pour spécifier la colonne A
 
Dernière édition:
Re : Sélection lignes selon couleur colonne

Merci pour ta réponse.
Le code est presque parfait 🙂
Le seul défaut est qu'il ne me copie que la colonne A... :'( Il ne me copie par toute la ligne.
As-tu une idée?

Encore merci
 
Re : Sélection lignes selon couleur colonne

Bonjour,

Désolé de déterrer un message vieux de bientôt 4 ans mais il correspond exactement à ce que je cherche à faire, néanmoins, je n'arrive pas à faire marcher le code (oui, de mémo je pense que ça doit être là 2eme fois que je vois du code macro ^^)... Y'aurait-il une âme assez charitable pour me donner la macro qui pourrait faire une copie d'une ligne entière si une des colonnes de cette ligne a une couleur particulière ? (les couleurs qui indiquent les lignes à copier dans mon classeur sont le rouge et le bleu)

Merci beaucoup 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
14
Affichages
484
Réponses
12
Affichages
364
Retour