Copier/Coller d’ onglets sur chaque nouveau classeur + boucle
5 réponses
stormtroopertk1230
Bonjour,
J’ai un certain nombre d’onglet.
Chaque onglet est nommé.
Une liste sous l’onglet « Menu » contient le nom des onglets.
Je voudrai effectuer un Copié-collé de chaque onglet afin de créer un nouveau Classeur par onglet.
L a macro crée bien le nouveau classeur mais Beug dès qu’il fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » d’où mon problème…
Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv()
Dim Var As String
Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value
Application.ScreenUpdating = False
Sheets(Var).Select
Sheets(Var).Copy
ActiveSheets.SaveAs Filename:="I:\Suivi\" & Mois & "\" & Var & ".xlsm"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour stormtroopertk1230,
modifie cette ligne ActiveSheets.SaveAs Filename:="I:Suivi"& Mois& ""& Var& ".xlsm"
par ActiveWorkbook.SaveAs Filename:="I:Suivi" & Mois & "" & Var & ".xlsm"
-- isabelle
Le 2011-12-09 09:49, stormtroopertk1230 a écrit :
Bonjour,
J’ai un certain nombre d’onglet. Chaque onglet est nommé. Une liste sous l’onglet « Menu » contient le nom des onglets. Je voudrai effectuer un Copié-collé de chaque onglet afin de créer un nouveau Classeur par onglet. L a macro crée bien le nouveau classeur mais Beug dès qu’il fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » d’où mon problème… Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv() Dim Var As String Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value Application.ScreenUpdating = False
modifie cette ligne
ActiveSheets.SaveAs Filename:="I:Suivi"& Mois& ""& Var& ".xlsm"
par
ActiveWorkbook.SaveAs Filename:="I:Suivi" & Mois & "" & Var & ".xlsm"
--
isabelle
Le 2011-12-09 09:49, stormtroopertk1230 a écrit :
Bonjour,
J’ai un certain nombre d’onglet.
Chaque onglet est nommé.
Une liste sous l’onglet « Menu » contient le nom des onglets.
Je voudrai effectuer un Copié-collé de chaque onglet afin de créer un nouveau
Classeur par onglet.
L a macro crée bien le nouveau classeur mais Beug dès qu’il fait renommer le
classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » d’où mon
problème…
Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv()
Dim Var As String
Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value
Application.ScreenUpdating = False
modifie cette ligne ActiveSheets.SaveAs Filename:="I:Suivi"& Mois& ""& Var& ".xlsm"
par ActiveWorkbook.SaveAs Filename:="I:Suivi" & Mois & "" & Var & ".xlsm"
-- isabelle
Le 2011-12-09 09:49, stormtroopertk1230 a écrit :
Bonjour,
J’ai un certain nombre d’onglet. Chaque onglet est nommé. Une liste sous l’onglet « Menu » contient le nom des onglets. Je voudrai effectuer un Copié-collé de chaque onglet afin de créer un nouveau Classeur par onglet. L a macro crée bien le nouveau classeur mais Beug dès qu’il fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » d’où mon problème… Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv() Dim Var As String Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value Application.ScreenUpdating = False
modifie cette ligne ActiveSheets.SaveAs Filename:="I:Suivi"& Mois& ""& Var& ".xlsm"
par ActiveWorkbook.SaveAs Filename:="I:Suivi" & Mois & "" & Var & ".xlsm"
-- isabelle
Le 2011-12-09 09:49, stormtroopertk1230 a écrit :
Bonjour,
J’ai un certain nombre d’onglet. Chaque onglet est nommé. Une liste sous l’onglet « Menu » contient le nom des onglets. Je voudrai effectuer un Copié-collé de chaque onglet afin de créer un nouveau Classeur par onglet. L a macro crée bien le nouveau classeur mais Beug dès qu’il fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » d’où mon problème… Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv() Dim Var As String Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value Application.ScreenUpdating = False
Merci Isabelle, mais malheureusement, cela ne fonctionne pas :-( Erreur 1004... Snif... Si quelqu'un peut m'aider ? Isabelle ?
Chris.
isabelle a écrit le 09/12/2011 à 15h55 :
bonjour stormtroopertk1230,
modifie cette ligne
ActiveSheets.SaveAs Filename:="I:Suivi"& Mois&
""& Var& ".xlsm"
par
ActiveWorkbook.SaveAs Filename:="I:Suivi" & Mois &
"" & Var & ".xlsm"
--
isabelle
Le 2011-12-09 09:49, stormtroopertk1230 a écrit :
Bonjour,
J’ai un certain nombre d’onglet.
Chaque onglet est nommé.
Une liste sous l’onglet « Menu » contient le nom des
onglets.
Je voudrai effectuer un Copié-collé de chaque onglet afin de
créer un nouveau
Classeur par onglet.
L a macro crée bien le nouveau classeur mais Beug dès
qu’il fait renommer le
classeur avec le Nom issu de la liste du classeur Initial « Suivi_R
» d’où mon
problème…
Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv()
Dim Var As String
Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value
Application.ScreenUpdating = False
modifie cette ligne ActiveSheets.SaveAs Filename:="I:Suivi"& Mois& ""& Var& ".xlsm"
par ActiveWorkbook.SaveAs Filename:="I:Suivi" & Mois & "" & Var & ".xlsm"
-- isabelle
Le 2011-12-09 09:49, stormtroopertk1230 a écrit :
Bonjour,
J’ai un certain nombre d’onglet. Chaque onglet est nommé. Une liste sous l’onglet « Menu » contient le nom des onglets. Je voudrai effectuer un Copié-collé de chaque onglet afin de créer un nouveau Classeur par onglet. L a macro crée bien le nouveau classeur mais Beug dès qu’il fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » d’où mon problème… Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv() Dim Var As String Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value Application.ScreenUpdating = False
L'onglet "Menu" : liste des onglets à créer. Dans le cas présent, la liste commence à la cellule L1C1 ou A1
Il suffit de lancer la macro en se positionnant sur ¬tiver("menu")
Les onglets se créent et se nomment très rapidement
ATTENTION :cela suppose que les onglets que l'on veut créer et nommer n'existent pas déjà dans le classeur. impossible de nommer un classeur si le nom existe déjà.
J'espère avoir apporté un peu d'aide
Charles
"isabelle" a écrit dans le message de news:jbt9o6$ig1$
bonjour Chris,
peut déposer ton fichier ici http://www.cjoint.com/ et nous redonner le lien de téléchargement
-- isabelle
Le 2011-12-09 10:26, stormtroopertk1230 a écrit :
Merci Isabelle, mais malheureusement, cela ne fonctionne pas :-( Erreur 1004... Snif... Si quelqu'un peut m'aider ? Isabelle ?
Chris.
Bonjour à tous,
Si j'ai bien compris, le problème est d'inserer des onglets et de les nommer
(en fonction d'une liste situé dans un autre onglet).
Désolé, je ne connais pas Visual Basic, mais en inserant un onglet "macro",
et en copiant ce qui suit :
L'onglet "Menu" : liste des onglets à créer.
Dans le cas présent, la liste commence à la cellule L1C1 ou A1
Il suffit de lancer la macro en se positionnant sur ¬tiver("menu")
Les onglets se créent et se nomment très rapidement
ATTENTION :cela suppose que les onglets que l'on veut créer et nommer
n'existent pas déjà dans le classeur.
impossible de nommer un classeur si le nom existe déjà.
J'espère avoir apporté un peu d'aide
Charles
"isabelle" <i@v.org> a écrit dans le message de
news:jbt9o6$ig1$9@speranza.aioe.org...
bonjour Chris,
peut déposer ton fichier ici
http://www.cjoint.com/
et nous redonner le lien de téléchargement
--
isabelle
Le 2011-12-09 10:26, stormtroopertk1230 a écrit :
Merci Isabelle, mais malheureusement, cela ne fonctionne pas :-( Erreur
1004...
Snif...
Si quelqu'un peut m'aider ? Isabelle ?
L'onglet "Menu" : liste des onglets à créer. Dans le cas présent, la liste commence à la cellule L1C1 ou A1
Il suffit de lancer la macro en se positionnant sur ¬tiver("menu")
Les onglets se créent et se nomment très rapidement
ATTENTION :cela suppose que les onglets que l'on veut créer et nommer n'existent pas déjà dans le classeur. impossible de nommer un classeur si le nom existe déjà.
J'espère avoir apporté un peu d'aide
Charles
"isabelle" a écrit dans le message de news:jbt9o6$ig1$
bonjour Chris,
peut déposer ton fichier ici http://www.cjoint.com/ et nous redonner le lien de téléchargement
-- isabelle
Le 2011-12-09 10:26, stormtroopertk1230 a écrit :
Merci Isabelle, mais malheureusement, cela ne fonctionne pas :-( Erreur 1004... Snif... Si quelqu'un peut m'aider ? Isabelle ?
Chris.
Gloops
stormtroopertk1230 a écrit, le 09/12/2011 15:49 :
Bonjour,
Jai un certain nombre donglet. Chaque onglet est nommé. Une liste sous longlet « Menu » contient le nom des onglets. Je voudrai effectuer un Copié-collé de chaque onglet afin de crée r un nouveau Classeur par onglet. L a macro crée bien le nouveau classeur mais Beug dès quil fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » doù mon problème Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv() Dim Var As String Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value Application.ScreenUpdating = False
Voici qui m'inspire quelques questions : - à quoi sert Sheets(Var).Copy ? - faut-il vraiment un s à ActiveSheets ? Pour que ça ait un sens il f aut sélectionner plusieurs feuilles, à l'aide de la touche Ctrl pendant qu'on les sélectionne par exemple. Syntaxe à vérifier. - qu'y a-t-il dans la variable mois ? Où est-elle initialisée ? Après avoir affiché le chemin complet, as-tu bien trouvé le fichier dans l'explorateur ?
Par ailleurs, je ne me rappelle plus ce que ça donne de préférer Sheet.Select à Sheet.Activate
J'imagine qu'un peu plus tard on n'oublie pas ScreenUpdating = True, mais il est peu probable que ce soit le problème.
stormtroopertk1230 a écrit, le 09/12/2011 15:49 :
Bonjour,
Jai un certain nombre donglet.
Chaque onglet est nommé.
Une liste sous longlet « Menu » contient le nom des onglets.
Je voudrai effectuer un Copié-collé de chaque onglet afin de crée r un nouveau
Classeur par onglet.
L a macro crée bien le nouveau classeur mais Beug dès quil fait renommer le
classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » doù mon
problème
Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv()
Dim Var As String
Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value
Application.ScreenUpdating = False
Voici qui m'inspire quelques questions :
- à quoi sert Sheets(Var).Copy ?
- faut-il vraiment un s à ActiveSheets ? Pour que ça ait un sens il f aut
sélectionner plusieurs feuilles, à l'aide de la touche Ctrl pendant
qu'on les sélectionne par exemple. Syntaxe à vérifier.
- qu'y a-t-il dans la variable mois ? Où est-elle initialisée ?
Après avoir affiché le chemin complet, as-tu bien trouvé le fichier dans
l'explorateur ?
Par ailleurs, je ne me rappelle plus ce que ça donne de préférer
Sheet.Select à Sheet.Activate
J'imagine qu'un peu plus tard on n'oublie pas ScreenUpdating = True,
mais il est peu probable que ce soit le problème.
Jai un certain nombre donglet. Chaque onglet est nommé. Une liste sous longlet « Menu » contient le nom des onglets. Je voudrai effectuer un Copié-collé de chaque onglet afin de crée r un nouveau Classeur par onglet. L a macro crée bien le nouveau classeur mais Beug dès quil fait renommer le classeur avec le Nom issu de la liste du classeur Initial « Suivi_R » doù mon problème Merci de votre aide.
Var étant la liste des noms des onglets
Private Sub Création_Indiv() Dim Var As String Dim Mois, As Integer
For i = 11 To 28
Var = Sheets("Menu_Com").Cells(i, 4).Value Application.ScreenUpdating = False
Voici qui m'inspire quelques questions : - à quoi sert Sheets(Var).Copy ? - faut-il vraiment un s à ActiveSheets ? Pour que ça ait un sens il f aut sélectionner plusieurs feuilles, à l'aide de la touche Ctrl pendant qu'on les sélectionne par exemple. Syntaxe à vérifier. - qu'y a-t-il dans la variable mois ? Où est-elle initialisée ? Après avoir affiché le chemin complet, as-tu bien trouvé le fichier dans l'explorateur ?
Par ailleurs, je ne me rappelle plus ce que ça donne de préférer Sheet.Select à Sheet.Activate
J'imagine qu'un peu plus tard on n'oublie pas ScreenUpdating = True, mais il est peu probable que ce soit le problème.