macro excel création feuille

  • Initiateur de la discussion Initiateur de la discussion nat38
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nat38

Guest
Bonjour,
je galère actuellement pour effectuer une macro qui me permettrait de dupliquer des feuilles à partir d'un onglet.
à chaque type d'augmentation(variable), créer une feuille
je joins un fichier d'exemple

partir de l'onglet base et créer un onglet part type d'augmentation

1 créer des feuilles à chaque types augmentation
2 regrouper le type aug individuelle et promotion dans la meme feuille
3 renomer les feuilles par type d'augmentation
4 fichier a mettre à jour ts les mois
d'avance merci pour votre aide
 

Pièces jointes

Re : macro excel création feuille

Bonjour à toutes et à tous,

Bienvenue sur XLD, nat38.

Une suggestion avec ce code affecté à un bouton :

Code:
Option Explicit
Sub Répartir()
    Dim o As Worksheet
    With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
        For Each o In Worksheets
            If o.Name <> "base" Then o.Range("a:f").Cells.Clear
        Next
        Sheets("base").Activate '
        Range("a:f").AutoFilter Field:=5, Criteria1:="=aug individuelle", Operator:=xlOr, Criteria2:="=promotion"
        Range("a:f").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("aug individuelle  promo").Range("a1")
        Range("a:f").AutoFilter Field:=5, Criteria1:="aug générale"
        Range("a:f").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("aug general").Range("a1")
        Range("a:f").AutoFilter Field:=5, Criteria1:="Egalité pro"
        Range("a:f").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("egalite pro").Range("a1")
        Range("a:f").AutoFilter Field:=5, Criteria1:="Garantie salaire"
        Range("a:f").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("garantie salariale").Range("a1")
        Range("a:f").AutoFilter Field:=5
     With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub

A bientôt 🙂
 
Re : macro excel création feuille

Re-bonjour,

Le code initial, mentionné en #2, peut être modifié comme suit :

Code:
Option Explicit
Sub Répartir_bis()
    Dim o As Worksheet
    With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
        For Each o In Worksheets
            If o.Name <> "base" Then o.Range("a:f").Cells.Clear
        Next
        Sheets("base").Activate '
        With Range("a:f")
        .AutoFilter Field:=5, Criteria1:="=aug individuelle", Operator:=xlOr, Criteria2:="=promotion"
        .Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("aug individuelle  promo").Range("a1")
        .AutoFilter Field:=5, Criteria1:="aug générale"
        .Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("aug general").Range("a1")
        .AutoFilter Field:=5, Criteria1:="Egalité pro"
        .Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("egalite pro").Range("a1")
        .AutoFilter Field:=5, Criteria1:="Garantie salaire"
        .Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("garantie salariale").Range("a1")
        .AutoFilter Field:=5
        End With
     With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub

A bientôt 🙂
 
Re : macro excel création feuille

merci
Sub creer_feuilleai()
Dim o As Worksheet
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
For Each o In Worksheets
If o.Name <> "base" Then o.Range("a:af").Cells.Clear
Next
Sheets("base").Activate '
Range("a:af").AutoFilter Field:=25, Criteria1:=Array("AI", "PR", "NO"), Operator:=xlFilterValues
Range("a:af").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("aug individuelle promo").Range("a1")
Range("a:af").AutoFilter Field:=25, Criteria1:="EP"
Range("a:af").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("egalite pro").Range("a1")
Range("a:af").AutoFilter Field:=25, Criteria1:="GS"
Range("a:af").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("garantie salariale").Range("a1")
Range("a:af").AutoFilter Field:=25, Criteria1:="MT"
Range("a:af").Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Maternité").Range("a1")

With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub

j'ai fait une modif sur la macro car je veux 3 conditions au lieu de 2 pour la première ligne(aug indi, promo, et nomination)
cela à l'air de fonctionner mais par contre elle plante car pas assez de mémoire....
qu'en penses tu??
merci encore
 
Re : macro excel création feuille

Re-bonjour,

...j'ai fait une modif sur la macro car je veux 3 conditions au lieu de 2 pour la première ligne(aug indi, promo, et nomination)...cela à l'air de fonctionner mais par contre elle plante car pas assez de mémoire...qu'en penses tu??...

Pourrait-on voir le fichier en question et, sur un nouvel onglet, le résultat souhaité ?

A bientôt 🙂
 
Re : macro excel création feuille

salut,

j'ai modifiée la macro pr selectionner que les plages incrémentées au lieu de toute la feuille.
Cela marche !!§§§§§!!!!!!!
ci joint le nouveau code
Range("a:af").AutoFilter Field:=25, Criteria1:="AG"
Range("a1").CurrentRegion.Copy Destination:=Sheets("AUG GENERALE").Range("a1")
Merci encore pour ton aide
a bientot
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
1 K
J
  • Question Question
Réponses
0
Affichages
1 K
Jérôme57
J
D
Réponses
11
Affichages
2 K
D
Retour