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