Macro sur plusieurs onglets

Bonjour à tous,

J'essaie de faire une macro qui génère plusieurs onglets et colle le filtrage d'un autre.

Je suis un inconditionnel des boucles, mais çà fonctionne pas sur des onglets.

Voici le code:

For i = 2 To drn
    If ws.Range("L" & i) > ws.Range("I" & i) Then
        ate = ws.Range("H" & i)
         'filtre sur atelier en feuille recap
             ws.Range("$A$1:$E$" & dern).AutoFilter Field:=2, Criteria1:=ate
         'copie filtrage
             Selection.Copy
            ws.Range("$A$1:$E$" & dern).Select
         'rajout onglet
             Sheets.Add After:=Sheets("recap2")
             ActiveSheet.name = "TAS" & ate
         'collage
             Sheets("TAS26").Select
             Range("B1").Select
             ActiveSheet.Paste
         'défiltre
             ws.Range("$A$1:$E$" & dern).AutoFilter Field:=2

Merci de votre aide

Cdt

Bonjour,

TAS26 est différent de ActiveSheet...

Si vous voulez coller en B1 de la feuille créée alors soit ActiveSheet soit "TAS" & ate

@ bientôt

LouReeD

Re, j'ai avancé sur le problème.

Cà fonctionnait qu'une fois avec la sélection d'une plage sur le tableau filtré,

en copiant les colonnes, çà fonctionne plusieurs fois. Mais le probléme est qu'il est long et copie jusqu'à 100k lignes.

Maintenant, il me reste à automatiser les boutons des macros.

Désolé Lou reed, j'avais pas vu ta réponse.

Oui c'était çà aussi le probléme.

Je préfèrerais nommer la feuille et faire un set mais je sais pas comment l'écrire.

Merci en tout cas.

Je reviens dessus pour essayer d'éviter la longueur de la macro à me recopier des lignes vides que je dois supprimer aprés.

Quand je sélectionne une plage, il fonctionne donc la 1ére fois, mais pas la 2éme en beuguant là :

1

Et je comprends pas pkoi.

3tas-ateliers.xlsm (134.16 Ko)

Bonsoir,

désolé je ne comprend pas trop votre fichier, mais pour l'erreur je pense que c'est du au filtre car la dernière ligne d ela feuille utilisée est bien la 180 mais cette dernière est masquée suite au filtre... Donc essayez de remplacer ceci :
ws.Range("$A$1:$E$" & dern).Select
Selection.Copy

Par :
ws.Range("$A$1:$E$" & dern).SpecialCells(xlCellTypeVisible).Copy

Ensuite préférez le xlUp au Down pour rechercher la dernière cellule non vide d'une colonne car en partant du bas on est sur de la trouver, si vous partez du haut vous risquer de tomber sur un trou s'il en existe, donc remplacer ceci :
drn = ws.Range("H2").End(xlDown).Row

Par :
drn = ws.Range("H" & Rows.Count).End(xlUp).Row

Dans mes petits test j'ai vu, mais avec les bugs c'est peut-être normal, que la variable ate rester à 26 et du coup il y a eu une erreur de feuille existante...
Mais je pense vraiment que c'est à cause des lancements de codes qui se sont arrêtés prématurément.

@ bientôt

LouReeD

Bonsoir Lou Reed,

Mon fichier fait des tirages au sort sur des groupes en surcapacité, et recopie dans les différents onglets les données pour faire chaque tirage.

Cà fonctionne super avec ton (votre ) code, et les 2 tirages prévus sont préparés sans soucis.

Merci pour tes conseils pour les derniéres lignes.

Cdt

Bonsoir

merci pour ce retour et vos remerciements !

@ bientôt

LouReeD

Bonjour LouReed et tous,

Maintenant dans l'autre sens, depuis les onglets variables j'ai besoin d'aller y chercher des infos.

ce bout de code passe pas. J'ai essayé activesheet, ws2 et .

image

Merci

Bonjour

Trop de "Select" ce n'est pas forcément utile.

Essayez sans sélection avec ce principe :

Feuillecible.plagecible = Feillesource.plagesource

@ bientôt

LouReeD

Bonsoir à tous , LouReed

Mon fichier de tirages au sort avance et j'aimerais mettre une sécurité une fois que les tirages ont été fait sur les différents onglets.

Pour le moment faire un retirage bug là et ouvre une nouvelle feuille :

3
3tas-ateliers.xlsm (224.11 Ko)

Merci de votre aide.

Bonsoir,

à chaque boucle de i vous récupérez la valeur de la feuille "récap1" (ws) en cellule colonne H et ligne i, alors fatalement le nom donné à la nouvelle feuille se répète car TAS25 existe déjà pour le premier tour de i égale à 2 !

Le fichier me semble un peu "brouillon" sans vouloir être désobligeant...

@ bientôt

LouReeD

Bonjour,

"Un peu brouillon" côté présentation c'est vrai mais pour le moment elle est faite pour que je puisse faire fonctionner les macros et cadrer les chiffres.

Honnêtement j'y avais pas encore pensé, mais je peux faire une page d'explication qu'avec les boutons et masquer les onglets que l'on souhaite.

Pour les messages des tirages faits, c'est ok.

Cdt

Rechercher des sujets similaires à "macro onglets"