Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés "Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la copie des
onglets qu'en une seule manip ?
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
Next i
End Sub
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans le
message de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette ligne de
codeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuilleref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le message de
news:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.Merci de votre aide
A+
C15
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés "Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la copie des
onglets qu'en une seule manip ?
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
Next i
End Sub
Merci de ton aide
A+
C15
"Frédéric Sigonneau" <frederic.sigonneau@ouanadou.fr> a écrit dans le
message de news:uWtWs7YTEHA.2128@TK2MSFTNGP11.phx.gbl...
Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette ligne de
code
ajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuillets
soient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:Ol38ZkKTEHA.2716@tk2msftngp13.phx.gbl...
C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu viens de
créer
et le tour est joué !!
Loulou
"C15" <MéfiezVousDesSpams@club-internet.fr> a écrit dans le message de
news:40c3f722$0$306$7a628cd7@news.club-internet.fr...
Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans différentes
cellules
(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés "Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la copie des
onglets qu'en une seule manip ?
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
Next i
End Sub
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans le
message de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette ligne de
codeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuilleref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le message de
news:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.Merci de votre aide
A+
C15
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et
de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés
par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies
du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la
copie des
onglets qu'en une seule manip ?
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans
le
message de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il
ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette
ligne de
codeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après
la
feuilleref
'on renomme la feuille qu'on vient de créer (la dernière
dans
l'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu
viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le
message de
news:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans
différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et
de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés
par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies
du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la
copie des
onglets qu'en une seule manip ?
Merci de ton aide
A+
C15
"Frédéric Sigonneau" <frederic.sigonneau@ouanadou.fr> a écrit dans
le
message de news:uWtWs7YTEHA.2128@TK2MSFTNGP11.phx.gbl...
Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il
ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette
ligne de
code
ajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuillets
soient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:Ol38ZkKTEHA.2716@tk2msftngp13.phx.gbl...
C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après
la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière
dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu
viens de
créer
et le tour est joué !!
Loulou
"C15" <MéfiezVousDesSpams@club-internet.fr> a écrit dans le
message de
news:40c3f722$0$306$7a628cd7@news.club-internet.fr...
Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans
différentes
cellules
(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et
de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés
par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies
du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la
copie des
onglets qu'en une seule manip ?
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans
le
message de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il
ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette
ligne de
codeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après
la
feuilleref
'on renomme la feuille qu'on vient de créer (la dernière
dans
l'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu
viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le
message de
news:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans
différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Public Sub NouvellesFeuilles()
Bonsoir,
Ta question, pour moi, n'est pas claire.
Ta procédure fait, pour ce que j'en comprends, ce qui suit à chaque tour
de boucle :
- ajout d'une feuille basé sur le modèle par défaut d'Excel
- cette feuille est renommée avec l'indice de la boucle
- ajout d'une deuxième feuille basée sur ton modèle "Maquette OGM2.xlt"
Cette deuxième feuille n'est pas renommée, ce qui explique tes Semaine
1(1) etc.
qui correspondent à la manière de faire habituelle d'Excel dans ce cas.
Que veux-tu faire ?
- ajouter une feuille et non deux ?
-> supprime l'instruction Add dont tu n'as pas besoin
- garder tes 2 feuilles et renommer la deuxième ?
-> ajoute une instruction après la création de la deuxième feuille
comme :
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = "Semaine " &
i
- garder tes 2 feuilles mais les créer et le nommer en une seule
instruction ?
-> modifie ton code comme ceci (non testé) :
'============ > Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
With ActiveWorkbook
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille (modèle Excel)
.Sheets.Add(after:=.Sheets(.Sheets.Count)).Name = i
'(ton modèle)
.Sheets.Add(after:=.Sheets(.Sheets.Count), _
Type:=Application.TemplatesPath & "Maquette OGM2.xlt") _
.Name = "Semaine " & i
Next i
End With
End Sub
'============= >
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et de
celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la copie
des
onglets qu'en une seule manip ?
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
Next i
End Sub
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans le
message de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il ait
été
enregistré dans le dossier par défaut des modèles d'Excel, cette ligne
de
codeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuilleref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le message de
news:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.Merci de votre aide
A+
C15
Public Sub NouvellesFeuilles()
Bonsoir,
Ta question, pour moi, n'est pas claire.
Ta procédure fait, pour ce que j'en comprends, ce qui suit à chaque tour
de boucle :
- ajout d'une feuille basé sur le modèle par défaut d'Excel
- cette feuille est renommée avec l'indice de la boucle
- ajout d'une deuxième feuille basée sur ton modèle "Maquette OGM2.xlt"
Cette deuxième feuille n'est pas renommée, ce qui explique tes Semaine
1(1) etc.
qui correspondent à la manière de faire habituelle d'Excel dans ce cas.
Que veux-tu faire ?
- ajouter une feuille et non deux ?
-> supprime l'instruction Add dont tu n'as pas besoin
- garder tes 2 feuilles et renommer la deuxième ?
-> ajoute une instruction après la création de la deuxième feuille
comme :
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = "Semaine " &
i
- garder tes 2 feuilles mais les créer et le nommer en une seule
instruction ?
-> modifie ton code comme ceci (non testé) :
'============ > Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
With ActiveWorkbook
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille (modèle Excel)
.Sheets.Add(after:=.Sheets(.Sheets.Count)).Name = i
'(ton modèle)
.Sheets.Add(after:=.Sheets(.Sheets.Count), _
Type:=Application.TemplatesPath & "Maquette OGM2.xlt") _
.Name = "Semaine " & i
Next i
End With
End Sub
'============= >
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et de
celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la copie
des
onglets qu'en une seule manip ?
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
Next i
End Sub
Merci de ton aide
A+
C15
"Frédéric Sigonneau" <frederic.sigonneau@ouanadou.fr> a écrit dans le
message de news:uWtWs7YTEHA.2128@TK2MSFTNGP11.phx.gbl...
Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il ait
été
enregistré dans le dossier par défaut des modèles d'Excel, cette ligne
de
code
ajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuillets
soient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:Ol38ZkKTEHA.2716@tk2msftngp13.phx.gbl...
C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu viens de
créer
et le tour est joué !!
Loulou
"C15" <MéfiezVousDesSpams@club-internet.fr> a écrit dans le message de
news:40c3f722$0$306$7a628cd7@news.club-internet.fr...
Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans différentes
cellules
(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Public Sub NouvellesFeuilles()
Bonsoir,
Ta question, pour moi, n'est pas claire.
Ta procédure fait, pour ce que j'en comprends, ce qui suit à chaque tour
de boucle :
- ajout d'une feuille basé sur le modèle par défaut d'Excel
- cette feuille est renommée avec l'indice de la boucle
- ajout d'une deuxième feuille basée sur ton modèle "Maquette OGM2.xlt"
Cette deuxième feuille n'est pas renommée, ce qui explique tes Semaine
1(1) etc.
qui correspondent à la manière de faire habituelle d'Excel dans ce cas.
Que veux-tu faire ?
- ajouter une feuille et non deux ?
-> supprime l'instruction Add dont tu n'as pas besoin
- garder tes 2 feuilles et renommer la deuxième ?
-> ajoute une instruction après la création de la deuxième feuille
comme :
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = "Semaine " &
i
- garder tes 2 feuilles mais les créer et le nommer en une seule
instruction ?
-> modifie ton code comme ceci (non testé) :
'============ > Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
With ActiveWorkbook
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille (modèle Excel)
.Sheets.Add(after:=.Sheets(.Sheets.Count)).Name = i
'(ton modèle)
.Sheets.Add(after:=.Sheets(.Sheets.Count), _
Type:=Application.TemplatesPath & "Maquette OGM2.xlt") _
.Name = "Semaine " & i
Next i
End With
End Sub
'============= >
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et de
celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la copie
des
onglets qu'en une seule manip ?
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
Next i
End Sub
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans le
message de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il ait
été
enregistré dans le dossier par défaut des modèles d'Excel, cette ligne
de
codeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après la
feuilleref
'on renomme la feuille qu'on vient de créer (la dernière dans
l'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le message de
news:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.Merci de votre aide
A+
C15
Bonjour,
À première vue et non testé.
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
"C15" <Mé a écrit dans le message de
news:40cc9b70$0$307$Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et
de cellede Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés
parexemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies
dufeuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la
copie desonglets qu'en une seule manip ?
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans
lemessage de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il
ait étéenregistré dans le dossier par défaut des modèles d'Excel, cette
ligne decodeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après
lafeuilleref
'on renomme la feuille qu'on vient de créer (la dernière
dansl'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu
viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le
message denews:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans
différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Bonjour,
À première vue et non testé.
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
"C15" <MéfiezVousDesSpams@club-internet.fr> a écrit dans le message de
news:40cc9b70$0$307$7a628cd7@news.club-internet.fr...
Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et
de celle
de Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés
par
exemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine
1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies
du
feuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la
copie des
onglets qu'en une seule manip ?
Merci de ton aide
A+
C15
"Frédéric Sigonneau" <frederic.sigonneau@ouanadou.fr> a écrit dans
le
message de news:uWtWs7YTEHA.2128@TK2MSFTNGP11.phx.gbl...
Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il
ait été
enregistré dans le dossier par défaut des modèles d'Excel, cette
ligne de
code
ajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuillets
soient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:Ol38ZkKTEHA.2716@tk2msftngp13.phx.gbl...
C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après
la
feuille
ref
'on renomme la feuille qu'on vient de créer (la dernière
dans
l'index)
'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu
viens de
créer
et le tour est joué !!
Loulou
"C15" <MéfiezVousDesSpams@club-internet.fr> a écrit dans le
message de
news:40c3f722$0$306$7a628cd7@news.club-internet.fr...
Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans
différentes
cellules
(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15
Bonjour,
À première vue et non testé.
Public Sub NouvellesFeuilles()
Dim iDebut, iFin As Integer
iDebut = Range(" 'Liste des codes'!F25")
iFin = Range(" 'Liste des codes'!H25")
For i = iDebut To iFin
Sheets.Add Type:=Application.TemplatesPath & "Maquette OGM2.xlt"
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
"C15" <Mé a écrit dans le message de
news:40cc9b70$0$307$Bonjour Fréderic,
La procédure suivante que j'ai adaptée en fonction de ta réponse et
de cellede Loulou, fait en sorte que j'ai bien de nouveaux onglets numérotés
parexemple de 20 à 25, mais aussi une nouvelle série d'onglets appelés
"Semaine1(1)", Semaine 1(2)"... ces feuillets étant effectivement les copies
dufeuillet "Semaine1" de mon modèle.
Comment corriger cette procédure pour ne faire la création et la
copie desonglets qu'en une seule manip ?
Merci de ton aide
A+
C15
"Frédéric Sigonneau" a écrit dans
lemessage de news:Bonsoir,
En supposant que le modèle voulu s'appelle MonModèle.xlt et qu'il
ait étéenregistré dans le dossier par défaut des modèles d'Excel, cette
ligne decodeajoute au classeur une feuille basée sur ce modèle :
Sheets.Add Type:=Application.TemplatesPath & "MonModèle.xlt"
(Excel 2002/2003, et sans doute 2000).
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Loulou Fox
Merci de ta réponse qui marche bien
Question consécutive à cela comment faire pour que ces nouveaux
feuilletssoient d'un modèle prédéfini ?
Merci de ton aide
A+
C15
"Loulou Fox" <loulou_at_hotmail.com> a écrit dans le message de
news:C'est pas compliqué, on va faire un exemple :
Tu fais une feuille "ref"
tu met en A1 le n° de semaine de début
tu met en A2 le n° de semaine de fin
Tu crées ensuite la macro suivante
Public Sub NouvellesFeuilles ()
Dim iDebut, iFin as Integer
iDebut=Rane("ref!A1")
iFin=Rane("ref!A2")
For i = iDebut to IFin
'tu ajoutes une nouvelle feuille
ActiveWorkbook.Sheets.Add ,
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
' la virgule après le Add est important car on insère après
lafeuilleref
'on renomme la feuille qu'on vient de créer (la dernière
dansl'index)'on lui donne le numéro de la semaine
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Name = i
Next i
End Sub
Tu fais un bouton sur la feuille associé avec la macro que tu
viens de
créeret le tour est joué !!
Loulou
"C15" <Mé a écrit dans le
message denews:40c3f722$0$306$Bonjour à tous et toutes,
Après avoir insérer un calendrier dans une feuille, je voudrais
sélectionner le 1er jour des semaines d'un même mois,
récupérer les N° des semaines et les coller dans
différentes
cellules(fonction NO.semaine)
nommer mes feuillets "semaine 21", "semaine 23"...
ou mieux dénommer directement les feuillets avec les N° de
semaines.
Merci de votre aide
A+
C15