Comment insérer des feuilles dans un tableau par VBA ?
8 réponses
nounours
Bonjour à toutes et tous
Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles
dans un classeur et les renommer du nom d'un mois (Boucle for ... next
indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des
messages d'erreur du type "impossible de renommer une feuille existante" ou
"indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient
que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille
(Feuil1)
Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai
enregistrée.
Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je
suis novice en VBA et débutant "éclairé" (par une bougie) en VB.
Merci d'avance pour toute suggestion.
nounours
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
Daniel
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
Bonjour.
Poste ton code, on verra mieux ce qui ne va pas.
Cordialement.
Daniel
"nounours" <nounours@discussions.microsoft.com> a écrit dans le message de
news: 762C3BD6-359A-45B8-AE44-EEF8062105CB@microsoft.com...
Bonjour à toutes et tous
Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles
dans un classeur et les renommer du nom d'un mois (Boucle for ... next
indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que
des
messages d'erreur du type "impossible de renommer une feuille existante"
ou
"indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient
que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une
feuille
(Feuil1)
Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai
enregistrée.
Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je
suis novice en VBA et débutant "éclairé" (par une bougie) en VB.
Merci d'avance pour toute suggestion.
nounours
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
Modeste
Bonsour® Daniel wrote:
Poste ton code, on verra mieux ce qui ne va pas.
c'est bien vrai ça !!! des solutions il en a plein. une usine à gaz c'est pas toujours évident à débugger sans la voir...
Sub Macro1() On Error GoTo trterr For i = 1 To 12 Worksheets.Add after:=Sheets(Worksheets.Count) ActiveSheet.Name = Format("01/" & i, "mmmm yyyy") Next Exit Sub trterr: MsgBox Format("01/" & i, "mmmm yyyy") & " existe déja !!!", vbExclamation ActiveSheet.Delete i = i + 1 If i > 12 Then Exit Sub Resume End Sub
-- les news pas à jour ?? ne passez plus par votre FAI, les news à la source !!! placez ce raccourci dans la ligne de commande news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ : http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonsour®
Daniel wrote:
Poste ton code, on verra mieux ce qui ne va pas.
c'est bien vrai ça !!!
des solutions il en a plein.
une usine à gaz c'est pas toujours évident à débugger sans la voir...
Sub Macro1()
On Error GoTo trterr
For i = 1 To 12
Worksheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = Format("01/" & i, "mmmm yyyy")
Next
Exit Sub
trterr:
MsgBox Format("01/" & i, "mmmm yyyy") & " existe déja !!!", vbExclamation
ActiveSheet.Delete
i = i + 1
If i > 12 Then Exit Sub
Resume
End Sub
--
les news pas à jour ?? ne passez plus par votre FAI, les news à la source
!!!
placez ce raccourci dans la ligne de commande
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
c'est bien vrai ça !!! des solutions il en a plein. une usine à gaz c'est pas toujours évident à débugger sans la voir...
Sub Macro1() On Error GoTo trterr For i = 1 To 12 Worksheets.Add after:=Sheets(Worksheets.Count) ActiveSheet.Name = Format("01/" & i, "mmmm yyyy") Next Exit Sub trterr: MsgBox Format("01/" & i, "mmmm yyyy") & " existe déja !!!", vbExclamation ActiveSheet.Delete i = i + 1 If i > 12 Then Exit Sub Resume End Sub
-- les news pas à jour ?? ne passez plus par votre FAI, les news à la source !!! placez ce raccourci dans la ligne de commande news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ : http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
nounours
Bonjour Daniel voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer Dim MonMois As String
Dim j As Integer Dim x As String
i = 1 j = 2 For i = 1 To 12 Sheets.Add x = "Feuil" & Str(j) Sheets(x).Select Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu i = i + 1 j = j + i Next i End Sub
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
Bonjour Daniel
voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer
Dim MonMois As String
Dim j As Integer
Dim x As String
i = 1
j = 2
For i = 1 To 12
Sheets.Add
x = "Feuil" & Str(j)
Sheets(x).Select
Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu
i = i + 1
j = j + i
Next i
End Sub
Bonjour.
Poste ton code, on verra mieux ce qui ne va pas.
Cordialement.
Daniel
"nounours" <nounours@discussions.microsoft.com> a écrit dans le message de
news: 762C3BD6-359A-45B8-AE44-EEF8062105CB@microsoft.com...
Bonjour à toutes et tous
Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles
dans un classeur et les renommer du nom d'un mois (Boucle for ... next
indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que
des
messages d'erreur du type "impossible de renommer une feuille existante"
ou
"indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient
que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une
feuille
(Feuil1)
Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai
enregistrée.
Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je
suis novice en VBA et débutant "éclairé" (par une bougie) en VB.
Merci d'avance pour toute suggestion.
nounours
Bonjour Daniel voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer Dim MonMois As String
Dim j As Integer Dim x As String
i = 1 j = 2 For i = 1 To 12 Sheets.Add x = "Feuil" & Str(j) Sheets(x).Select Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu i = i + 1 j = j + i Next i End Sub
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
Daniel
Apparemment, essaie avec dim MonMois au lieu de dim MonMois as String Daniel "nounours" a écrit dans le message de news:
Bonjour Daniel voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer Dim MonMois As String
Dim j As Integer Dim x As String
i = 1 j = 2 For i = 1 To 12 Sheets.Add x = "Feuil" & Str(j) Sheets(x).Select Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu i = i + 1 j = j + i Next i End Sub
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
Apparemment, essaie avec dim MonMois au lieu de dim MonMois as String
Daniel
"nounours" <nounours@discussions.microsoft.com> a écrit dans le message de
news: 3B94189E-8A06-478B-AEF2-55CBB58E1041@microsoft.com...
Bonjour Daniel
voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer
Dim MonMois As String
Dim j As Integer
Dim x As String
i = 1
j = 2
For i = 1 To 12
Sheets.Add
x = "Feuil" & Str(j)
Sheets(x).Select
Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu
i = i + 1
j = j + i
Next i
End Sub
Bonjour.
Poste ton code, on verra mieux ce qui ne va pas.
Cordialement.
Daniel
"nounours" <nounours@discussions.microsoft.com> a écrit dans le message
de
news: 762C3BD6-359A-45B8-AE44-EEF8062105CB@microsoft.com...
Bonjour à toutes et tous
Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles
feuilles
dans un classeur et les renommer du nom d'un mois (Boucle for ... next
indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que
des
messages d'erreur du type "impossible de renommer une feuille
existante"
ou
"indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je
n'obtient
que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une
feuille
(Feuil1)
Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai
enregistrée.
Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que
je
suis novice en VBA et débutant "éclairé" (par une bougie) en VB.
Merci d'avance pour toute suggestion.
nounours
Apparemment, essaie avec dim MonMois au lieu de dim MonMois as String Daniel "nounours" a écrit dans le message de news:
Bonjour Daniel voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer Dim MonMois As String
Dim j As Integer Dim x As String
i = 1 j = 2 For i = 1 To 12 Sheets.Add x = "Feuil" & Str(j) Sheets(x).Select Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu i = i + 1 j = j + i Next i End Sub
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
nounours
Merci à Daniel et Modeste pour leur aide. Modeste : je ne travaille pas chez AZF, lol
Cordialement nounours
Merci à Daniel et Modeste pour leur aide.
Modeste : je ne travaille pas chez AZF, lol
Merci à Daniel et Modeste pour leur aide. Modeste : je ne travaille pas chez AZF, lol
Cordialement nounours
JLuc
*Bonjour nounours*,
Bonjour Daniel voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer Dim MonMois As String
Dim j As Integer Dim x As String
i = 1 j = 2 For i = 1 To 12 Sheets.Add x = "Feuil" & Str(j) Sheets(x).Select Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu Il faudrais aussi initialiser ton tableau, sinon il vb ne connais pas
sa dimention, ni ce qu'il doit mettre ( par defaut = vide ) MonMois = Array("Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Jui", _ "Aou", "Sep", "Oct", "Nov", "Dec") (avec Option Base 1 : 1->12, avec Option Base 0 : 0->11)
i = i + 1 La variable i est automatiquement incrementee par le "For",si tu la
reincrmente, tu fais que 6 boucles au lieu de 12
j = j + i Next i End Sub
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour nounours*,
Bonjour Daniel
voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer
Dim MonMois As String
Dim j As Integer
Dim x As String
i = 1
j = 2
For i = 1 To 12
Sheets.Add
x = "Feuil" & Str(j)
Sheets(x).Select
Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu
Il faudrais aussi initialiser ton tableau, sinon il vb ne connais pas
sa dimention, ni ce qu'il doit mettre ( par defaut = vide )
MonMois = Array("Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Jui", _
"Aou", "Sep", "Oct", "Nov", "Dec")
(avec Option Base 1 : 1->12, avec Option Base 0 : 0->11)
i = i + 1
La variable i est automatiquement incrementee par le "For",si tu la
reincrmente, tu fais que 6 boucles au lieu de 12
j = j + i
Next i
End Sub
Bonjour.
Poste ton code, on verra mieux ce qui ne va pas.
Cordialement.
Daniel
"nounours" <nounours@discussions.microsoft.com> a écrit dans le message de
news: 762C3BD6-359A-45B8-AE44-EEF8062105CB@microsoft.com...
Bonjour à toutes et tous
Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles
dans un classeur et les renommer du nom d'un mois (Boucle for ... next
indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que
des
messages d'erreur du type "impossible de renommer une feuille existante"
ou
"indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient
que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une
feuille
(Feuil1)
Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai
enregistrée.
Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je
suis novice en VBA et débutant "éclairé" (par une bougie) en VB.
Merci d'avance pour toute suggestion.
nounours
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Bonjour Daniel voici le code. L'erreur est la suivante : "Tableau attendu".
Dim i As Integer Dim MonMois As String
Dim j As Integer Dim x As String
i = 1 j = 2 For i = 1 To 12 Sheets.Add x = "Feuil" & Str(j) Sheets(x).Select Sheets(x).Name = MonMois(i) -> ERREUR : Tableau attendu Il faudrais aussi initialiser ton tableau, sinon il vb ne connais pas
sa dimention, ni ce qu'il doit mettre ( par defaut = vide ) MonMois = Array("Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Jui", _ "Aou", "Sep", "Oct", "Nov", "Dec") (avec Option Base 1 : 1->12, avec Option Base 0 : 0->11)
i = i + 1 La variable i est automatiquement incrementee par le "For",si tu la
reincrmente, tu fais que 6 boucles au lieu de 12
j = j + i Next i End Sub
Bonjour. Poste ton code, on verra mieux ce qui ne va pas. Cordialement. Daniel "nounours" a écrit dans le message de news:
Bonjour à toutes et tous Nounours est novice en VBA. Soyez donc indulgents. Merci.
J'ai écris une procédure Sub en VBA devant insérer de nouvelles feuilles dans un classeur et les renommer du nom d'un mois (Boucle for ... next indentée). J'ai beau essayer plusieurs ruoutines, mais je n'obtient que des messages d'erreur du type "impossible de renommer une feuille existante" ou "indice pas déclaré" (MonMois(i) i allant de 1 à 12. De plus, je n'obtient que 6 nouvelles feuilles au lieu de 12. Mon classuer possède déjà une feuille (Feuil1) Pour écrire ma routine, je me suis inspiré d'une macro Excel que j'ai enregistrée. Quelqu'un peut-il me mettre sur la piste d'une solution ? J'ajoute que je suis novice en VBA et débutant "éclairé" (par une bougie) en VB. Merci d'avance pour toute suggestion. nounours
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
jb
Bonjour,
Génère des onglets Janvier,Février,Mars,...Décembre
Sub genereMois() For m = 1 To 12 Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = Format(DateSerial(2005, m, 1), "mmmm") Next End Sub
Cordialement JB
Bonjour,
Génère des onglets Janvier,Février,Mars,...Décembre
Sub genereMois()
For m = 1 To 12
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(DateSerial(2005, m, 1), "mmmm")
Next
End Sub