![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2008
Messages: 5
|
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 |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
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)
'couleur des cellules à copier
lCol = rReply.Interior.ColorIndex
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:=Sheet2.Range("A65536").End(xlUp)(2, 1)
End If
Next rCell
End Sub
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 15/04/2008 à 23h54. |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2008
Messages: 5
|
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 ? |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Localisation: Riedisheim (Mulhouse)
Version Excel : Excel 2003 (PC)
Messages: 2 947
|
Bonjour cookiedelu, salut JM
,pourrais-tu envoyer ce code "customisé" qu'on voit ce qui ne va pas?
__________________
@+ skoobi On en apprend tous les jours Filtrer un tableau, c'est par ici: Après la version 3, voici la version 4 .Et le fil de discussion pour laisser un commentaire, une suggestion Trier un tableau, c'est par là: http://www.excel-downloads.com/forum...tml#post558394 Aidez ce forum, devenez supporter: http://www.excel-downloads.com/forum...tml#post442476 |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2008
Messages: 5
|
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
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:=Workbooks("mon_classeur").Sheets("ma_feuille").Range("A65536").End(xlUp)(2, 1)
End If
Next rCell
End Sub
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. |
|
|
|
|
|
#6 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 7 079
|
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
rCell.Copy Destination:=Sheets("Feuil2").Range("A65536").End(xlUp)(2, 1)
'adapter le nom du classeur et le nom de la feuille
End If
Next rCell
End Sub
Citation:
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
__________________
Cordialement, __________________ JM AddictDernière modification par Staple1600 ; 19/04/2008 à 13h00. |
|
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2008
Messages: 5
|
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 |
|
|
|
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| compter les valeurs d'une colonne selon la selection multiple dans une listbox de usf | wilpier | Forum Excel | 2 | 17/03/2008 14h29 |
| Macro pour supprimer lignes selon texte en colonne C | WITER | Forum Excel | 16 | 27/03/2007 15h29 |
| Selection colonnes et lignes selon conditions | KIM | Forum Excel | 41 | 20/12/2006 10h02 |
| copie lignes selon 1 cel de même colonne de +s feuilles | papapaul | Forum Excel | 0 | 07/11/2006 21h15 |
| Copier les lignes selon le critère d'une colonne | Dessimoz | Forum Excel Downloads - Archives | 2 | 28/04/2003 17h43 |