Copie de cellules selon format

Bonjour a tous,

Un jour, une question! Heureusement que le week end est la.

Ma question est simple. J'ai donc toujours mon classeur avec une douzaine de feuilles dedans. Elles contiennent des listes de noms, et les fonds de cellules des noms et prenoms deviennent rouge ou jaune en fonction de la validation de deux criteres, blanc si rien.

J'aimerais savoir s'il est possible dans une feuille annexe de mon classeur, d'avoir des copies de ces listes par couleur, c'est a dire copier toutes les cellules a fond rouge de toutes les feuilles dans une colonne de cette feuille annexe, les jaunes dans une autre...

Voici un petit fichier fictif, dites moi si vous avez des erreurs avec (avec les formats surtout):

https://www.excel-pratique.com/~files/doc/Exemple_copie_de_cellules_selon_format.xls

Une formule serait preferable puisque je suis novice et j'ai un peu de mal a adapter les macros a mon fichier reel ensuite, mais je suis toujours ouvert a toute suggestion!

Merci d'avance,

Alain

bonjour à tous,

tu veux juste récupérer le nom ?

Claude.

Bonjour,

Je suis en train d'adapter ca, merci Amadeus.

Bonjour a tous,

En fait j'ai beaucoup de mal a adapter ta solution a mon fichier Amadeus, et j'ai abandonne ...

Par contre, en fouillant un peu et en me documentant sur les macros, j'en ai trouve une qui me parait assez simple et tres adapte a ce que je souhaite, seuls quelques details pechent...

La macro permet de copier des cellules filtrees vers une feuille annexe. Dans le fichier suivant, les feuilles 1 et 2 contiennent des listes de Prenoms et Noms avec un filtre applique a la colonne Noms , qui les filtre par couleur (qui correspondent a des statuts differents: blanc, jaune, rouge). J'ai assigne la commande Ctrl + k pour lancer la macro. Je filtre les noms rouges par exemple, et la macro me permet de les copier dans la sheet3.

Ce que j'aimerais faire:

1: que les Noms, prenoms et la ville se copient dans la feuille 3, et pas seulement les noms.

2: quand j'effectue l'operation sur la feuille 1 puis la feuille 2, que les donnees de la 2 n'ecrasent pas la copie faite a partir de la 1.

Voici le code:

Sub CopyFilter()
Dim rng As Range
Dim rng2 As Range

With ActiveSheet.AutoFilter.Range
 On Error Resume Next
   Set rng2 = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
       .SpecialCells(xlCellTypeVisible)
 On Error GoTo 0
End With
If rng2 Is Nothing Then
   MsgBox "No data to copy"
Else
   Worksheets("Sheet3").Cells.Clear
   Set rng = ActiveSheet.AutoFilter.Range
   rng.Offset(1, 0).Resize(rng.Rows.Count - 1).Copy _
     Destination:=Worksheets("Sheet3").Range("A1")
End If
   ActiveSheet.ShowAllData

End Sub

Voici le fichier:

https://www.excel-pratique.com/~files/doc/exemple_copie_cellules_filtrees.xls

(si vous avez des problemes de version faites moi signe).

Voila, encore une fois j'espere avoir ete le plus clair possible, finalement je m'immisce peu a peu dans ce merveilleux monde des macros.

A tres bientot et encore un grand merci pour tout le temps que vous nous accordez.

Alain

Bonjour Alain

Alain a écrit:

Une formule serait preferable puisque je suis novice et j'ai un peu de mal a adapter les macros a mon fichier reel ensuite, mais je suis toujours ouvert a toute suggestion!

Oeuvrant dans la catégorie qualifiée "Formuliste", j'essaie de trouver une solution par formules aux questions qui sont posées.

Pour les Macros et VBA, place aux experts......

Cordialement

Bonjour Alain, le forum,

J'ai repris ton problème du début, en essayant de composer avec les différentes infos...

Je te propose ceci : https://www.excel-pratique.com/~files/doc/exemple_copie_cellules_filtrees_2.xls

Les lignes rouges sont copiées sur la feuille "Rouge", les jaunes sur la "Jaune", les blanches sont ignorées.

Comme tu disais dans ton précédent post, la macro ne copie que les infos que tu as sur la feuille active. Peut-être préfèrerais tu passer d'un coup toutes les feuilles en revue ?

Bonjour Sylvain et Amadeus,

Merci beaucoup pour votre aide (je suis aussi un "formuliste", mais bien plus en herbe que toi je pense Amadeus!)

En fait, le fait est que je devrais manipuler plus de couleurs que sur ce fichier fictif que je vous ai donne. C'est pourquoi je cherche vraiment a copier les lignes filtrees uniquement, le fait de regrouper les rouges et jaunes n'a pas d'importance.

Mon objectif serait de pouvoir proceder de la sorte:

  • feuille1, je filtre les jaunes, je copie les cellules filtrees
  • feuille2, je filtre les jaunes, je copie les cellules filtrees
  • feuille3...
...

Et que les listes ne s'ecrasent pas. Evidemment, une solution pour copier toutes les cellules filtrees de tout mon classeur en meme temps serait tres bien egalement.

Je continue a chercher aujourd'hui, je vous tiens au courant de mes eventuelles avancees.

Tres bonne journee,

Alain

Nouveau Bonjour,

Je crois que je viens de comprendre... (c'est bête ta macro expliquait pourtant, si je l'avais lue...)

Je croyais que tu voulais que la macro mette en place le filtre... Or on est bien d'accord que tu filtres d'abord manuellement, et la macro ne fais que recopier ? Et copie tout en feuille 3 (quel que soit le filtre utilisé) ?

Je commence dans ce sens

Re,

Difficile d'avancer avec tout ce qui se passe à Pékin...!

Ton code un tout petit peu modifié pour commencer.

Teste et dis nous.

Sub CopyFilter()
'by Tom Ogilvy
Dim rng As Range
Dim rng2 As Range

With ActiveSheet.AutoFilter.Range
 On Error Resume Next
   Set rng2 = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
       .SpecialCells(xlCellTypeVisible)
 On Error GoTo 0
End With
If rng2 Is Nothing Then
   MsgBox "No data to copy"
Else
   Set rng = ActiveSheet.AutoFilter.Range
   rng.Offset(1, -1).Resize(rng.Rows.Count - 1, 3).Copy _
     Destination:=Worksheets("Sheet3").Range("A65536").End(xlUp).Offset(1, 0)
End If
   ActiveSheet.ShowAllData

End Sub

Re,

Voila, c'est exactement ca! C'est la fin de la journee ici et je dois filer a present, je serai de retour demain, je t'envoie une carte postale si tu as trouve!

A tres vite et encore merci,

Alain

Bonjour

Pour ceux, qui comme moi, sont réfractaires à VBA, la même en XL4.

Sécurité des Macros sur Niveau Moyen, si vous êtes curieux ou intéréssés.

https://www.excel-pratique.com/~files/doc/Filtre_selon_criteres.xls

Cordialement

Bonjour Amadeus,

Desole pour le retard, petits contre temps. Merci beaucoup pour ta reponse en tout cas, J'ai beaucoup appris sur ton fichier! Malheureusement il m'est tres difficile de l'adapter parfaitement a ma base et par souci de gain de temps je dois utiliser une solution plus simple et plus laborieuse (quel paradoxe!).

Je reviens ici si jamais je trouve une solution.

Bonne journee a tous,

Alain

Rechercher des sujets similaires à "copie format"