Bonjour Patrick,
As-tu essayé ceci :
Dim Rg As Range, Sh As Worksheet
Dim AcName As String
AcName = ActiveSheet.Name
With Worksheets("Feuil1")
Set Rg = .Columns("A:E")
End With
On Error Resume Next
Application.ScreenUpdating = False
If Err <> 0 Then Err = 0
For A = 5 To 1 Step -1
Set Sh = Sheets.Add(After:=Worksheets(Worksheets.Count))
With Sh
Rg.Copy .Range("A1")
.Name = Format(DateSerial(Annee, LeMois, A), "dd-mm-yyyy")
If Err <> 0 Then
Err = 0
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
End If
End With
Next
Worksheets(AcName).Select
Set Sh = Nothing: Set Rg = Nothing
Salutations!
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news: Bonsoir à toutes et
tous.
J'ai tenté de modifier ce code provenant de Denis Michon, Rural
Thierry et
de Frédéric Sigonneau pour, qu'à partir de la feuille de départ sur
laquelle
je le lance, un duplicata se crée pour chaque jour du mois (mêmes
formules,
mêmes mises en forme sur les 5 premières colonnes).
********************************
Extrait :
'Ajoute les feuilles.
Err = 0
For A = LastDay To 1 Step -1
Columns("A:E").Select.Copy
Sheets.Add.Paste
Set Sh = Sheets.Add
Sh.Name = Format(DateSerial(Annee, LeMois, A), "dd-mm-yyyy")
If Err <> 0 Then
Application.DisplayAlerts = False
Sh.Delete
Err = 0
End If
Next
Application.DisplayAlerts = True
Set Sh = Nothing
End Sub
*******************************
Qui peut me dire ce qui cloche ?
Merci et bon WE à vous.
Bonjour Patrick,
As-tu essayé ceci :
Dim Rg As Range, Sh As Worksheet
Dim AcName As String
AcName = ActiveSheet.Name
With Worksheets("Feuil1")
Set Rg = .Columns("A:E")
End With
On Error Resume Next
Application.ScreenUpdating = False
If Err <> 0 Then Err = 0
For A = 5 To 1 Step -1
Set Sh = Sheets.Add(After:=Worksheets(Worksheets.Count))
With Sh
Rg.Copy .Range("A1")
.Name = Format(DateSerial(Annee, LeMois, A), "dd-mm-yyyy")
If Err <> 0 Then
Err = 0
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
End If
End With
Next
Worksheets(AcName).Select
Set Sh = Nothing: Set Rg = Nothing
Salutations!
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news: OFyWgl1wEHA.2572@tk2msftngp13.phx.gbl... Bonsoir à toutes et
tous.
J'ai tenté de modifier ce code provenant de Denis Michon, Rural
Thierry et
de Frédéric Sigonneau pour, qu'à partir de la feuille de départ sur
laquelle
je le lance, un duplicata se crée pour chaque jour du mois (mêmes
formules,
mêmes mises en forme sur les 5 premières colonnes).
********************************
Extrait :
'Ajoute les feuilles.
Err = 0
For A = LastDay To 1 Step -1
Columns("A:E").Select.Copy
Sheets.Add.Paste
Set Sh = Sheets.Add
Sh.Name = Format(DateSerial(Annee, LeMois, A), "dd-mm-yyyy")
If Err <> 0 Then
Application.DisplayAlerts = False
Sh.Delete
Err = 0
End If
Next
Application.DisplayAlerts = True
Set Sh = Nothing
End Sub
*******************************
Qui peut me dire ce qui cloche ?
Merci et bon WE à vous.
Bonjour Patrick,
As-tu essayé ceci :
Dim Rg As Range, Sh As Worksheet
Dim AcName As String
AcName = ActiveSheet.Name
With Worksheets("Feuil1")
Set Rg = .Columns("A:E")
End With
On Error Resume Next
Application.ScreenUpdating = False
If Err <> 0 Then Err = 0
For A = 5 To 1 Step -1
Set Sh = Sheets.Add(After:=Worksheets(Worksheets.Count))
With Sh
Rg.Copy .Range("A1")
.Name = Format(DateSerial(Annee, LeMois, A), "dd-mm-yyyy")
If Err <> 0 Then
Err = 0
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
End If
End With
Next
Worksheets(AcName).Select
Set Sh = Nothing: Set Rg = Nothing
Salutations!
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news: Bonsoir à toutes et
tous.
J'ai tenté de modifier ce code provenant de Denis Michon, Rural
Thierry et
de Frédéric Sigonneau pour, qu'à partir de la feuille de départ sur
laquelle
je le lance, un duplicata se crée pour chaque jour du mois (mêmes
formules,
mêmes mises en forme sur les 5 premières colonnes).
********************************
Extrait :
'Ajoute les feuilles.
Err = 0
For A = LastDay To 1 Step -1
Columns("A:E").Select.Copy
Sheets.Add.Paste
Set Sh = Sheets.Add
Sh.Name = Format(DateSerial(Annee, LeMois, A), "dd-mm-yyyy")
If Err <> 0 Then
Application.DisplayAlerts = False
Sh.Delete
Err = 0
End If
Next
Application.DisplayAlerts = True
Set Sh = Nothing
End Sub
*******************************
Qui peut me dire ce qui cloche ?
Merci et bon WE à vous.
Y sont oû, les chaouches ?
Semblerait que ma question ne déclanche pas les polémiques...
;-)
Patrick
Y sont oû, les chaouches ?
Semblerait que ma question ne déclanche pas les polémiques...
;-)
Patrick
Y sont oû, les chaouches ?
Semblerait que ma question ne déclanche pas les polémiques...
;-)
Patrick
demande a joël et à jacky, patrick : ils adorent échanger et s'ils
prennent ta ficelle en main (ou sous le bras, comme la baguette), tu
vas vite leur dire de ne plus écrire au contraire....z'arrêtent pu....
jps
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:Y sont oû, les chaouches ?
Semblerait que ma question ne déclanche pas les polémiques...
;-)
Patrick
demande a joël et à jacky, patrick : ils adorent échanger et s'ils
prennent ta ficelle en main (ou sous le bras, comme la baguette), tu
vas vite leur dire de ne plus écrire au contraire....z'arrêtent pu....
jps
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:uqy18OExEHA.1308@TK2MSFTNGP09.phx.gbl...
Y sont oû, les chaouches ?
Semblerait que ma question ne déclanche pas les polémiques...
;-)
Patrick
demande a joël et à jacky, patrick : ils adorent échanger et s'ils
prennent ta ficelle en main (ou sous le bras, comme la baguette), tu
vas vite leur dire de ne plus écrire au contraire....z'arrêtent pu....
jps
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:Y sont oû, les chaouches ?
Semblerait que ma question ne déclanche pas les polémiques...
;-)
Patrick
Bonjour à tous
Je m'en sors petit à petit, tant bien que mal :
Créer un classeur mensuel avec une feuille par jour à partir d'un modèle en
reprenant mise en forme, validation, objets etc...
Mon classeur de départ : 3 onglets : "Premier", "Modèle" et "Total"
"Premier "est la solution que j'ai trouvée pour consolider dans "Total
"toutes les feuilles qui seront créées : =(SOMME(Premier:Modèle!A3) ou
=(NBVAL(Premier:Modèle!A3)
Le bout de code ci-dessous fonctionne :-) quand les feuilles Premier et
Modèle sont affichées, mais *ne fonctionne pas* :-( lorsqu'elles sont
masquées :
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1 To LastDay Step 1
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets("Modèle")
Set Sh = Worksheets(Worksheets.Count - 2)
With Sh
.Visible = True
.Name = Format(DateSerial(Annee, LeMois, A), "ddd dd-mm-yy")
If Err <> 0 Then
Err = 0
End If
End With
Next
Un grand merci donc à qui voudra bien m'expliquer comment paramétrer Copy
Before et Worksheets.Count
pour que mes feuilles créées soient correctement nommées, soient placées
entre"Premier" et "Modèle", et restent visibles !!!
Question subsidiaire pour les gagnants : quelle différence entre
Sheets.Count et Worksheets.Count.
Désolé si ces questions sont basiques, mais je persiste à débuter en VBA.
PS : je pense que le classeur terminé pourrait être utile à d'autres, et je
le soumettrai à Misange.
Cordialement,
Patrick
Bonjour à tous
Je m'en sors petit à petit, tant bien que mal :
Créer un classeur mensuel avec une feuille par jour à partir d'un modèle en
reprenant mise en forme, validation, objets etc...
Mon classeur de départ : 3 onglets : "Premier", "Modèle" et "Total"
"Premier "est la solution que j'ai trouvée pour consolider dans "Total
"toutes les feuilles qui seront créées : =(SOMME(Premier:Modèle!A3) ou
=(NBVAL(Premier:Modèle!A3)
Le bout de code ci-dessous fonctionne :-) quand les feuilles Premier et
Modèle sont affichées, mais *ne fonctionne pas* :-( lorsqu'elles sont
masquées :
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1 To LastDay Step 1
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets("Modèle")
Set Sh = Worksheets(Worksheets.Count - 2)
With Sh
.Visible = True
.Name = Format(DateSerial(Annee, LeMois, A), "ddd dd-mm-yy")
If Err <> 0 Then
Err = 0
End If
End With
Next
Un grand merci donc à qui voudra bien m'expliquer comment paramétrer Copy
Before et Worksheets.Count
pour que mes feuilles créées soient correctement nommées, soient placées
entre"Premier" et "Modèle", et restent visibles !!!
Question subsidiaire pour les gagnants : quelle différence entre
Sheets.Count et Worksheets.Count.
Désolé si ces questions sont basiques, mais je persiste à débuter en VBA.
PS : je pense que le classeur terminé pourrait être utile à d'autres, et je
le soumettrai à Misange.
Cordialement,
Patrick
Bonjour à tous
Je m'en sors petit à petit, tant bien que mal :
Créer un classeur mensuel avec une feuille par jour à partir d'un modèle en
reprenant mise en forme, validation, objets etc...
Mon classeur de départ : 3 onglets : "Premier", "Modèle" et "Total"
"Premier "est la solution que j'ai trouvée pour consolider dans "Total
"toutes les feuilles qui seront créées : =(SOMME(Premier:Modèle!A3) ou
=(NBVAL(Premier:Modèle!A3)
Le bout de code ci-dessous fonctionne :-) quand les feuilles Premier et
Modèle sont affichées, mais *ne fonctionne pas* :-( lorsqu'elles sont
masquées :
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1 To LastDay Step 1
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets("Modèle")
Set Sh = Worksheets(Worksheets.Count - 2)
With Sh
.Visible = True
.Name = Format(DateSerial(Annee, LeMois, A), "ddd dd-mm-yy")
If Err <> 0 Then
Err = 0
End If
End With
Next
Un grand merci donc à qui voudra bien m'expliquer comment paramétrer Copy
Before et Worksheets.Count
pour que mes feuilles créées soient correctement nommées, soient placées
entre"Premier" et "Modèle", et restent visibles !!!
Question subsidiaire pour les gagnants : quelle différence entre
Sheets.Count et Worksheets.Count.
Désolé si ces questions sont basiques, mais je persiste à débuter en VBA.
PS : je pense que le classeur terminé pourrait être utile à d'autres, et je
le soumettrai à Misange.
Cordialement,
Patrick
Bonjour.
Ce code génére 3 feuilles avec les feuilles "Premier" et "Modèle"
masquées.
Sub Ajout()
Dim LastDay&, A&, Sh As Worksheet, Annee&, LeMois&, LeNom$, ElNom$
LastDay = 3&
Annee = 4&
LeMois = 11&
LeNom = Worksheets(1&).Name
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1& To LastDay
Worksheets("Modèle").Copy Worksheets("Total")
Set Sh = Worksheets(Worksheets.Count - 1&)
With Sh
ElNom = Format(DateSerial(Annee, LeMois, A), "ddd
dd-mm-yy") .Name = ElNom
.Move , Worksheets(LeNom)
.Visible = xlSheetVisible
LeNom = ElNom
End With
Next
Set Sh = Nothing
End Sub
Pour la question subsidiaire :
Insére une feuille graphique dans ton classeur puis lance cette macro.
Sub SheetsCount_OU_WorksheetsCount()
MsgBox "Worksheets.Count = " & Worksheets.Count & vbNewLine & _
vbNewLine & "Sheets.Count = " & Sheets.Count
End Sub
Alain CROS
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news: #Bonjour à tous
Je m'en sors petit à petit, tant bien que mal :
Créer un classeur mensuel avec une feuille par jour à partir d'un
modèle en reprenant mise en forme, validation, objets etc...
Mon classeur de départ : 3 onglets : "Premier", "Modèle" et "Total"
"Premier "est la solution que j'ai trouvée pour consolider dans
"Total "toutes les feuilles qui seront créées :
=(SOMME(Premier:Modèle!A3) ou =(NBVAL(Premier:Modèle!A3)
Le bout de code ci-dessous fonctionne :-) quand les feuilles Premier
et Modèle sont affichées, mais *ne fonctionne pas* :-( lorsqu'elles
sont masquées :
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1 To LastDay Step 1
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets("Modèle")
Set Sh = Worksheets(Worksheets.Count - 2)
With Sh
.Visible = True
.Name = Format(DateSerial(Annee, LeMois, A), "ddd
dd-mm-yy") If Err <> 0 Then
Err = 0
End If
End With
Next
Un grand merci donc à qui voudra bien m'expliquer comment paramétrer
Copy Before et Worksheets.Count
pour que mes feuilles créées soient correctement nommées, soient
placées entre"Premier" et "Modèle", et restent visibles !!!
Question subsidiaire pour les gagnants : quelle différence entre
Sheets.Count et Worksheets.Count.
Désolé si ces questions sont basiques, mais je persiste à débuter en
VBA.
PS : je pense que le classeur terminé pourrait être utile à
d'autres, et je le soumettrai à Misange.
Cordialement,
Patrick
Bonjour.
Ce code génére 3 feuilles avec les feuilles "Premier" et "Modèle"
masquées.
Sub Ajout()
Dim LastDay&, A&, Sh As Worksheet, Annee&, LeMois&, LeNom$, ElNom$
LastDay = 3&
Annee = 4&
LeMois = 11&
LeNom = Worksheets(1&).Name
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1& To LastDay
Worksheets("Modèle").Copy Worksheets("Total")
Set Sh = Worksheets(Worksheets.Count - 1&)
With Sh
ElNom = Format(DateSerial(Annee, LeMois, A), "ddd
dd-mm-yy") .Name = ElNom
.Move , Worksheets(LeNom)
.Visible = xlSheetVisible
LeNom = ElNom
End With
Next
Set Sh = Nothing
End Sub
Pour la question subsidiaire :
Insére une feuille graphique dans ton classeur puis lance cette macro.
Sub SheetsCount_OU_WorksheetsCount()
MsgBox "Worksheets.Count = " & Worksheets.Count & vbNewLine & _
vbNewLine & "Sheets.Count = " & Sheets.Count
End Sub
Alain CROS
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news: #lCQrTBxEHA.3844@TK2MSFTNGP09.phx.gbl...
Bonjour à tous
Je m'en sors petit à petit, tant bien que mal :
Créer un classeur mensuel avec une feuille par jour à partir d'un
modèle en reprenant mise en forme, validation, objets etc...
Mon classeur de départ : 3 onglets : "Premier", "Modèle" et "Total"
"Premier "est la solution que j'ai trouvée pour consolider dans
"Total "toutes les feuilles qui seront créées :
=(SOMME(Premier:Modèle!A3) ou =(NBVAL(Premier:Modèle!A3)
Le bout de code ci-dessous fonctionne :-) quand les feuilles Premier
et Modèle sont affichées, mais *ne fonctionne pas* :-( lorsqu'elles
sont masquées :
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1 To LastDay Step 1
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets("Modèle")
Set Sh = Worksheets(Worksheets.Count - 2)
With Sh
.Visible = True
.Name = Format(DateSerial(Annee, LeMois, A), "ddd
dd-mm-yy") If Err <> 0 Then
Err = 0
End If
End With
Next
Un grand merci donc à qui voudra bien m'expliquer comment paramétrer
Copy Before et Worksheets.Count
pour que mes feuilles créées soient correctement nommées, soient
placées entre"Premier" et "Modèle", et restent visibles !!!
Question subsidiaire pour les gagnants : quelle différence entre
Sheets.Count et Worksheets.Count.
Désolé si ces questions sont basiques, mais je persiste à débuter en
VBA.
PS : je pense que le classeur terminé pourrait être utile à
d'autres, et je le soumettrai à Misange.
Cordialement,
Patrick
Bonjour.
Ce code génére 3 feuilles avec les feuilles "Premier" et "Modèle"
masquées.
Sub Ajout()
Dim LastDay&, A&, Sh As Worksheet, Annee&, LeMois&, LeNom$, ElNom$
LastDay = 3&
Annee = 4&
LeMois = 11&
LeNom = Worksheets(1&).Name
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1& To LastDay
Worksheets("Modèle").Copy Worksheets("Total")
Set Sh = Worksheets(Worksheets.Count - 1&)
With Sh
ElNom = Format(DateSerial(Annee, LeMois, A), "ddd
dd-mm-yy") .Name = ElNom
.Move , Worksheets(LeNom)
.Visible = xlSheetVisible
LeNom = ElNom
End With
Next
Set Sh = Nothing
End Sub
Pour la question subsidiaire :
Insére une feuille graphique dans ton classeur puis lance cette macro.
Sub SheetsCount_OU_WorksheetsCount()
MsgBox "Worksheets.Count = " & Worksheets.Count & vbNewLine & _
vbNewLine & "Sheets.Count = " & Sheets.Count
End Sub
Alain CROS
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news: #Bonjour à tous
Je m'en sors petit à petit, tant bien que mal :
Créer un classeur mensuel avec une feuille par jour à partir d'un
modèle en reprenant mise en forme, validation, objets etc...
Mon classeur de départ : 3 onglets : "Premier", "Modèle" et "Total"
"Premier "est la solution que j'ai trouvée pour consolider dans
"Total "toutes les feuilles qui seront créées :
=(SOMME(Premier:Modèle!A3) ou =(NBVAL(Premier:Modèle!A3)
Le bout de code ci-dessous fonctionne :-) quand les feuilles Premier
et Modèle sont affichées, mais *ne fonctionne pas* :-( lorsqu'elles
sont masquées :
'Boucle pour copier"Modèle" autant de fois qu'il y a de jours.
'Et renomme chaque feuille avec la date.
For A = 1 To LastDay Step 1
Sheets("Modèle").Select
Sheets("Modèle").Copy Before:=Sheets("Modèle")
Set Sh = Worksheets(Worksheets.Count - 2)
With Sh
.Visible = True
.Name = Format(DateSerial(Annee, LeMois, A), "ddd
dd-mm-yy") If Err <> 0 Then
Err = 0
End If
End With
Next
Un grand merci donc à qui voudra bien m'expliquer comment paramétrer
Copy Before et Worksheets.Count
pour que mes feuilles créées soient correctement nommées, soient
placées entre"Premier" et "Modèle", et restent visibles !!!
Question subsidiaire pour les gagnants : quelle différence entre
Sheets.Count et Worksheets.Count.
Désolé si ces questions sont basiques, mais je persiste à débuter en
VBA.
PS : je pense que le classeur terminé pourrait être utile à
d'autres, et je le soumettrai à Misange.
Cordialement,
Patrick