Comment faire une macro onglet

marcse2

XLDnaute Nouveau
Bonjour,
Quelqu’un pourrait m’aider je suis débutant total et je voudrais faire une macro sous Excel 2007 qui créé des onglets de gauche à droite en cherchant dans une colonne une suite de références égale. Par exemple dans une colonne se trouvent une références (458777), je voudrais que tout se qui concerne ces références, la macro crée un novelle onglet à droite avec tout se qui si ratage.
Je joins un exemple si je trouve comment le faire dans lequel se trouve un bouton qui seras lien a la macro, et un onglet au nom du représentent cette onglet devras être crée de toute pièces par la macro car a l’ouverture du fichier recherche d’onglet il y a un seul onglet (relever). Je vous remercie du temps que vous accorder a ma requête.
 

Pièces jointes

  • Creation d'onglet.zip
    10.7 KB · Affichages: 37
  • Creation d'onglet.zip
    10.7 KB · Affichages: 36
  • Creation d'onglet.zip
    10.7 KB · Affichages: 39

Cousinhub

XLDnaute Barbatruc
Re : Comment faire une macro onglet

Bonjour,

une autre solution, utilisant les filtres élaborés

Le code :

Code:
Sub transfert()
Application.ScreenUpdating = False
With Sheets("relever")
    .Range("A7:J" & .[A65000].End(xlUp).Row).Name = "base"
    .[Z1] = .[A7]
    .Range("A7:A" & .[A65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range( _
        "Z1"), Unique:=True
    .Range("Z1:Z" & .[Z65000].End(xlUp).Row).Sort Key1:=.Range("Z2"), Order1:=xlAscending, Header:=xlYes
For Each cel In .Range("Z2:Z" & .[Z65000].End(xlUp).Row)
    .[Z2] = cel
    .Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = cel
    .Range("base").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=.Range("Z1:Z2"), CopyToRange:=Range("A7:J7" _
        ), Unique:=False
Next cel
    .Columns(26).Delete
    .Select
End With
End Sub

Le fichier :
 

Pièces jointes

  • Creation d'onglet_v1.xlsm
    22.5 KB · Affichages: 97

Discussions similaires