XL 2013 VBA répartir 1 feuille sur 12 onglets MOIS, selon la date indiquée dans une colonne

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 !

Nougatine95

XLDnaute Occasionnel
Bonsoir Le Forum,

J'ai tenté avec l'enregistreur de macros. Le transfert est très long (voir code dans fichier joint).

Après moult recherches j'ai trouvé LE Code VBA qui va bien.
Merci JCG (https://www.excel-downloads.com/threads/recopie-dans-les-onglets.218674/)

Code adapté à mes 11 colonnes, l'onglet principal "BASE" pourra contenir jusqu'à 3000 lignes.
Seul problème la longueur d'exécution. Mais est-ce améliorable?

Certes l'on pourrait effectuer un tri directement sur la feuille BASE, mais sachant que pour chaque mois, il y aura de nombreux calculs avec comparaison entre feuilles, ce n'est pas cool 🙁

Ci-joint un petit fichier bricolé de 11 colonnes et à peine 1000 lignes.

Je vous remercie pour votre aide.
 

Pièces jointes

Re : VBA répartir 1 feuille sur 12 onglets MOIS, selon la date indiquée dans une colo

Bonsoir,

Je ne suis pas sûr d'avoir compris la question
On peut faire + rapide mais pour 3000 lignes, cela devrait suffire.

Code:
Sub Extrait()
  Set f = Sheets("Base")
  Application.DisplayAlerts = False
  Application.ScreenUpdating = False
  [m2].Formula = "=MONTH(G2)=$l$1"
  For m = 1 To 12
    f.[L1] = m
    On Error Resume Next
    nf = Format(DateSerial(2015, m, 1), "mmmm")
    Sheets(nf).Delete
    On Error GoTo 0
    Sheets.Add After:=Sheets(Sheets.Count) ' création
    ActiveSheet.Name = nf
    f.[A1:k10000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[m1:m2], CopyToRange:=[A1]
  Next m
End Sub

jb
 

Pièces jointes

Dernière édition:
Re : VBA répartir 1 feuille sur 12 onglets MOIS, selon la date indiquée dans une colo

Bonsoir Boisgontier

Gloups, c'est génial, c'est instantané !
Ouaaaah, Merci Boisgontier. Vraiment trop fort !

En effet je n'avais pas précisé, le but étant de dispatcher sur les onglets Janvier, Février, etc...
selon le contenu de la colonne G dans laquelle figurent des dates de livraisons.
 
- 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

Discussions similaires

Retour