Copier des cellules Excel vers une nouvelle feuille Excel

Bonjour à tous,

Je recherche de l'aide pour créer un bouton qui me permetterait de copier les cellules des colonnes

1-2-3-4-5-6-7 vers une nouvelle feuille.

La difficultée est de copier seulement les éléments FF (Colonne 1) et GG (Colonne 2) et d'avoir les éléments triés du plus petit au plus grand pour la colonne 4 et enfin de copier les colonnes 3,5, 6 et 7.

J'ai essayé des choses mais sans succès

Je vous remercie d'avance pour toute aide

BOUBOU

30exe1.xlsm (40.51 Ko)

Hello,

Super facile, il y'a tout ce que tu cherche, dans ce tuto :

https://www.excel-pratique.com/fr/vba

Tu verras c'est super, en même temps ça réponds à tes soucis.

Pour le tri, tu verras à la fin, tu passe l'enregistreur, tu tri une fois et tu récupère le code.

OK MERCI je vais me pencher sur le tuto

Bonsoir le fil, bonsoir le forum,

En pièce jointe ton fichier modifié avec le code ci-dessous :

Public Sub Macro1()
Dim R As Worksheet 'déclare la variable R (onglet RVV)
Dim D As Worksheet 'déclare la variable D (onglet Destination)
Dim I As Byte 'déclare la variable I (Incrément)

Set R = Sheets("RVV") 'définit l'onglet R

'préparation du filtre avancée
For I = 1 To 7 'boucle sur 7 colonnes
    R.Cells(1, I + 10).Value = I 'envoieI dans la cellule ligne 1, colonne I + 10 de l'onglet R
Next I 'prochaine colonne de la boucle
R.Cells(2, 11).Value = "FF" 'écrit "FF" dans la cellule K2
R.Cells(2, 12).Value = "GG" 'écrit "GG" dans la cellule L2
'filtre avancée
Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=R.Range("k1").CurrentRegion, _
    CopyToRange:=R.Range("K4"), Unique:=False

'renvoie des données
Sheets.Add After:=Sheets(Sheets.Count) 'ajoute un onglet en dernière position
Set D = ActiveSheet 'définit l'onglet destination D
R.Range("K4").CurrentRegion.Copy D.Range("A1") 'copie le tableau filtré dans A1 de l,'onglet D
R.Columns("K:Q").Delete 'supprime le filtre avancé dans l'onglet R

'tri ascendant par rapport à la colonne 4
D.Sort.SortFields.Clear
D.Sort.SortFields.Add Key:=D.Range("D1"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
    .SetRange D.Range("A1").CurrentRegion
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
'suppression des colonne inutiles dans l'onglet D
D.Range("A1:B1,D1").EntireColumn.Delete
End Sub
34boubou-v01.xlsm (46.18 Ko)

Merci beaucoup pour le code c'est géniale

Cdt,

Boubou

Rechercher des sujets similaires à "copier nouvelle feuille"