macro création de feuilles auto suivant les références d'une feu il
6 réponses
Françoise
bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles
en stock (environ 300)
je voudrai générer automatiquement via une macro 1 feuille par ref qui
porterait le nom de la ref, ex : produitA
ensuite il me restera à faire un groupe de travail avec toutes les feuilles
afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la
limite du nombre de feuilles possible dans un même classeur, car je souhaite
tout avoir dans un seul et même classeur
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
FFO
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1 Je te propose ce code : i = 2 Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil1").Range("A" & i) i = i + 1 Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité de ton ordinateur
Fais des essais et dis moi !!!!!
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1
Je te propose ce code :
i = 2
Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row
Sheets.Add.Name = Sheets("Feuil1").Range("A" & i)
i = i + 1
Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité
de ton ordinateur
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1 Je te propose ce code : i = 2 Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil1").Range("A" & i) i = i + 1 Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité de ton ordinateur
Fais des essais et dis moi !!!!!
MichDenis
Soit la Feuil1 contenant tes références en Colonne A
sub Test() 'Déclaration des variables Dim Rg As Range, Cell As Range, Sh as worksheet
With worksheets("Feuil1") 'Définir une variable objet Range qui contient toutes tes références Set Rg = .range("a1:A" & .Range("A65536").end(xlup).row) End With
'Tu ne dois pas avoir de doublons dans ta plage 'Tes cellules ne doivent pas contenir ces symboles car ils sont interdits 'dans le nom de la feuille. "" "/" ":" "*" "?" "[" "]"
'Boucle sur chaque cellules de la plage pour la création des feuilles. 'Création d'une feuille au nom de chaque contenu de cellules de la plage
For each Cell in Rg 'Ajout d'une feuille après la dernière feuille du classeur Worksheets.Add after:=Sheets(Sheets.Count) 'Baptise la feuille du nom du contenu de la cellule ActiveSheet.Name = Cell.Value Next
'Pour créer un Groupe de travail : 'Pour chaque feuille du classseur For each sh in Worksheets 'Sélection de la feuille, False permet d'ajouter 'la feuille à la sélection Sh.Select False Next
'Toutes les feuilles du classeur devrait être sélectionné. End Sub
"Françoise" a écrit dans le message de groupe de discussion : bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles en stock (environ 300) je voudrai générer automatiquement via une macro 1 feuille par ref qui porterait le nom de la ref, ex : produitA ensuite il me restera à faire un groupe de travail avec toutes les feuilles afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la limite du nombre de feuilles possible dans un même classeur, car je souhaite tout avoir dans un seul et même classeur
d'avance merci pour votre aide
Soit la Feuil1 contenant tes références en Colonne A
sub Test()
'Déclaration des variables
Dim Rg As Range, Cell As Range, Sh as worksheet
With worksheets("Feuil1")
'Définir une variable objet Range qui contient toutes tes références
Set Rg = .range("a1:A" & .Range("A65536").end(xlup).row)
End With
'Tu ne dois pas avoir de doublons dans ta plage
'Tes cellules ne doivent pas contenir ces symboles car ils sont interdits
'dans le nom de la feuille. "" "/" ":" "*" "?" "[" "]"
'Boucle sur chaque cellules de la plage pour la création des feuilles.
'Création d'une feuille au nom de chaque contenu de cellules de la plage
For each Cell in Rg
'Ajout d'une feuille après la dernière feuille du classeur
Worksheets.Add after:=Sheets(Sheets.Count)
'Baptise la feuille du nom du contenu de la cellule
ActiveSheet.Name = Cell.Value
Next
'Pour créer un Groupe de travail :
'Pour chaque feuille du classseur
For each sh in Worksheets
'Sélection de la feuille, False permet d'ajouter
'la feuille à la sélection
Sh.Select False
Next
'Toutes les feuilles du classeur devrait être sélectionné.
End Sub
"Françoise" <Franoise@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 8E4E0E21-4027-44D3-BB5D-BEE78D71DA2D@microsoft.com...
bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles
en stock (environ 300)
je voudrai générer automatiquement via une macro 1 feuille par ref qui
porterait le nom de la ref, ex : produitA
ensuite il me restera à faire un groupe de travail avec toutes les feuilles
afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la
limite du nombre de feuilles possible dans un même classeur, car je souhaite
tout avoir dans un seul et même classeur
Soit la Feuil1 contenant tes références en Colonne A
sub Test() 'Déclaration des variables Dim Rg As Range, Cell As Range, Sh as worksheet
With worksheets("Feuil1") 'Définir une variable objet Range qui contient toutes tes références Set Rg = .range("a1:A" & .Range("A65536").end(xlup).row) End With
'Tu ne dois pas avoir de doublons dans ta plage 'Tes cellules ne doivent pas contenir ces symboles car ils sont interdits 'dans le nom de la feuille. "" "/" ":" "*" "?" "[" "]"
'Boucle sur chaque cellules de la plage pour la création des feuilles. 'Création d'une feuille au nom de chaque contenu de cellules de la plage
For each Cell in Rg 'Ajout d'une feuille après la dernière feuille du classeur Worksheets.Add after:=Sheets(Sheets.Count) 'Baptise la feuille du nom du contenu de la cellule ActiveSheet.Name = Cell.Value Next
'Pour créer un Groupe de travail : 'Pour chaque feuille du classseur For each sh in Worksheets 'Sélection de la feuille, False permet d'ajouter 'la feuille à la sélection Sh.Select False Next
'Toutes les feuilles du classeur devrait être sélectionné. End Sub
"Françoise" a écrit dans le message de groupe de discussion : bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles en stock (environ 300) je voudrai générer automatiquement via une macro 1 feuille par ref qui porterait le nom de la ref, ex : produitA ensuite il me restera à faire un groupe de travail avec toutes les feuilles afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la limite du nombre de feuilles possible dans un même classeur, car je souhaite tout avoir dans un seul et même classeur
d'avance merci pour votre aide
Françoise
ça marche impec ! merci oui d'après ce que j'ai lu effectivement le nombre de feuilles est tributaire de la puissance de l'ordi; là je n'ai aucun problème vu le nombre ======== par contre comment préciser que les feuilles à créer doivent se placer APRES "feuil1" et non avant ? ======== encore merci !
"FFO" a écrit :
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1 Je te propose ce code : i = 2 Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil1").Range("A" & i) i = i + 1 Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité de ton ordinateur
Fais des essais et dis moi !!!!!
ça marche impec ! merci
oui d'après ce que j'ai lu effectivement le nombre de feuilles est
tributaire de la puissance de l'ordi; là je n'ai aucun problème vu le nombre
======== par contre comment préciser que les feuilles à créer doivent se placer APRES
"feuil1" et non avant ?
======== encore merci !
"FFO" a écrit :
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1
Je te propose ce code :
i = 2
Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row
Sheets.Add.Name = Sheets("Feuil1").Range("A" & i)
i = i + 1
Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité
de ton ordinateur
ça marche impec ! merci oui d'après ce que j'ai lu effectivement le nombre de feuilles est tributaire de la puissance de l'ordi; là je n'ai aucun problème vu le nombre ======== par contre comment préciser que les feuilles à créer doivent se placer APRES "feuil1" et non avant ? ======== encore merci !
"FFO" a écrit :
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1 Je te propose ce code : i = 2 Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil1").Range("A" & i) i = i + 1 Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité de ton ordinateur
Fais des essais et dis moi !!!!!
MichDenis
Tu peux utiliser ceci :
Feuil1 étant le nom de la feuille de référence après laquelle chacune des feuilles vont s'ajouter
Worksheets.Add after:=Sheets("Feuil1")
"Françoise" a écrit dans le message de groupe de discussion : ça marche impec ! merci oui d'après ce que j'ai lu effectivement le nombre de feuilles est tributaire de la puissance de l'ordi; là je n'ai aucun problème vu le nombre ======== par contre comment préciser que les feuilles à créer doivent se placer APRES "feuil1" et non avant ? ======== encore merci !
"FFO" a écrit :
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1 Je te propose ce code : i = 2 Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil1").Range("A" & i) i = i + 1 Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité de ton ordinateur
Fais des essais et dis moi !!!!!
Tu peux utiliser ceci :
Feuil1 étant le nom de la feuille de référence
après laquelle chacune des feuilles vont s'ajouter
Worksheets.Add after:=Sheets("Feuil1")
"Françoise" <Franoise@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 9C389486-5F25-40FA-AC25-85AABB77A23B@microsoft.com...
ça marche impec ! merci
oui d'après ce que j'ai lu effectivement le nombre de feuilles est
tributaire de la puissance de l'ordi; là je n'ai aucun problème vu le nombre
======== par contre comment préciser que les feuilles à créer doivent se placer APRES
"feuil1" et non avant ?
======== encore merci !
"FFO" a écrit :
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1
Je te propose ce code :
i = 2
Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row
Sheets.Add.Name = Sheets("Feuil1").Range("A" & i)
i = i + 1
Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité
de ton ordinateur
Feuil1 étant le nom de la feuille de référence après laquelle chacune des feuilles vont s'ajouter
Worksheets.Add after:=Sheets("Feuil1")
"Françoise" a écrit dans le message de groupe de discussion : ça marche impec ! merci oui d'après ce que j'ai lu effectivement le nombre de feuilles est tributaire de la puissance de l'ordi; là je n'ai aucun problème vu le nombre ======== par contre comment préciser que les feuilles à créer doivent se placer APRES "feuil1" et non avant ? ======== encore merci !
"FFO" a écrit :
Salut Françoise
Soit la liste des références en colonne A à partir de la ligne 2 de Feuil1 Je te propose ce code : i = 2 Do While i < Sheets("Feuil1").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil1").Range("A" & i) i = i + 1 Loop
Sauf erreur de ma part le nombre de feuilles est tributaire de la capacité de ton ordinateur
Fais des essais et dis moi !!!!!
FFO
Rebonjour Françoise
Pour mettre chaque nouvelle feuille aprés celles existantes je propose le code modifié ainsi :
i = 2 Do While i < Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil3").Range("A" & i) ActiveSheet.Move after:=Sheets(Sheets.Count) i = i + 1 Loop
Celà devrait faire Dis moi !!!!
Rebonjour Françoise
Pour mettre chaque nouvelle feuille aprés celles existantes je propose le
code modifié ainsi :
i = 2
Do While i < Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0).Row
Sheets.Add.Name = Sheets("Feuil3").Range("A" & i)
ActiveSheet.Move after:=Sheets(Sheets.Count)
i = i + 1
Loop
Pour mettre chaque nouvelle feuille aprés celles existantes je propose le code modifié ainsi :
i = 2 Do While i < Sheets("Feuil3").Range("A65535").End(xlUp).Offset(1, 0).Row Sheets.Add.Name = Sheets("Feuil3").Range("A" & i) ActiveSheet.Move after:=Sheets(Sheets.Count) i = i + 1 Loop
Celà devrait faire Dis moi !!!!
Françoise
Merci FFO et Michel,
tout fonctionne à merveille, y compris la sélection pour le groupe de travail encore merci pour toutes vos explications claires précises et formatrices
bonne journée
"MichDenis" a écrit :
Soit la Feuil1 contenant tes références en Colonne A
sub Test() 'Déclaration des variables Dim Rg As Range, Cell As Range, Sh as worksheet
With worksheets("Feuil1") 'Définir une variable objet Range qui contient toutes tes références Set Rg = .range("a1:A" & .Range("A65536").end(xlup).row) End With
'Tu ne dois pas avoir de doublons dans ta plage 'Tes cellules ne doivent pas contenir ces symboles car ils sont interdits 'dans le nom de la feuille. "" "/" ":" "*" "?" "[" "]"
'Boucle sur chaque cellules de la plage pour la création des feuilles. 'Création d'une feuille au nom de chaque contenu de cellules de la plage
For each Cell in Rg 'Ajout d'une feuille après la dernière feuille du classeur Worksheets.Add after:=Sheets(Sheets.Count) 'Baptise la feuille du nom du contenu de la cellule ActiveSheet.Name = Cell.Value Next
'Pour créer un Groupe de travail : 'Pour chaque feuille du classseur For each sh in Worksheets 'Sélection de la feuille, False permet d'ajouter 'la feuille à la sélection Sh.Select False Next
'Toutes les feuilles du classeur devrait être sélectionné. End Sub
"Françoise" a écrit dans le message de groupe de discussion : bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles en stock (environ 300) je voudrai générer automatiquement via une macro 1 feuille par ref qui porterait le nom de la ref, ex : produitA ensuite il me restera à faire un groupe de travail avec toutes les feuilles afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la limite du nombre de feuilles possible dans un même classeur, car je souhaite tout avoir dans un seul et même classeur
d'avance merci pour votre aide
Merci FFO et Michel,
tout fonctionne à merveille, y compris la sélection pour le groupe de travail
encore merci pour toutes vos explications claires précises et formatrices
bonne journée
"MichDenis" a écrit :
Soit la Feuil1 contenant tes références en Colonne A
sub Test()
'Déclaration des variables
Dim Rg As Range, Cell As Range, Sh as worksheet
With worksheets("Feuil1")
'Définir une variable objet Range qui contient toutes tes références
Set Rg = .range("a1:A" & .Range("A65536").end(xlup).row)
End With
'Tu ne dois pas avoir de doublons dans ta plage
'Tes cellules ne doivent pas contenir ces symboles car ils sont interdits
'dans le nom de la feuille. "" "/" ":" "*" "?" "[" "]"
'Boucle sur chaque cellules de la plage pour la création des feuilles.
'Création d'une feuille au nom de chaque contenu de cellules de la plage
For each Cell in Rg
'Ajout d'une feuille après la dernière feuille du classeur
Worksheets.Add after:=Sheets(Sheets.Count)
'Baptise la feuille du nom du contenu de la cellule
ActiveSheet.Name = Cell.Value
Next
'Pour créer un Groupe de travail :
'Pour chaque feuille du classseur
For each sh in Worksheets
'Sélection de la feuille, False permet d'ajouter
'la feuille à la sélection
Sh.Select False
Next
'Toutes les feuilles du classeur devrait être sélectionné.
End Sub
"Françoise" <Franoise@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 8E4E0E21-4027-44D3-BB5D-BEE78D71DA2D@microsoft.com...
bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles
en stock (environ 300)
je voudrai générer automatiquement via une macro 1 feuille par ref qui
porterait le nom de la ref, ex : produitA
ensuite il me restera à faire un groupe de travail avec toutes les feuilles
afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la
limite du nombre de feuilles possible dans un même classeur, car je souhaite
tout avoir dans un seul et même classeur
tout fonctionne à merveille, y compris la sélection pour le groupe de travail encore merci pour toutes vos explications claires précises et formatrices
bonne journée
"MichDenis" a écrit :
Soit la Feuil1 contenant tes références en Colonne A
sub Test() 'Déclaration des variables Dim Rg As Range, Cell As Range, Sh as worksheet
With worksheets("Feuil1") 'Définir une variable objet Range qui contient toutes tes références Set Rg = .range("a1:A" & .Range("A65536").end(xlup).row) End With
'Tu ne dois pas avoir de doublons dans ta plage 'Tes cellules ne doivent pas contenir ces symboles car ils sont interdits 'dans le nom de la feuille. "" "/" ":" "*" "?" "[" "]"
'Boucle sur chaque cellules de la plage pour la création des feuilles. 'Création d'une feuille au nom de chaque contenu de cellules de la plage
For each Cell in Rg 'Ajout d'une feuille après la dernière feuille du classeur Worksheets.Add after:=Sheets(Sheets.Count) 'Baptise la feuille du nom du contenu de la cellule ActiveSheet.Name = Cell.Value Next
'Pour créer un Groupe de travail : 'Pour chaque feuille du classseur For each sh in Worksheets 'Sélection de la feuille, False permet d'ajouter 'la feuille à la sélection Sh.Select False Next
'Toutes les feuilles du classeur devrait être sélectionné. End Sub
"Françoise" a écrit dans le message de groupe de discussion : bonjour à tous,
j'ai une feuille qui contient en col A toutes les références de mes articles en stock (environ 300) je voudrai générer automatiquement via une macro 1 feuille par ref qui porterait le nom de la ref, ex : produitA ensuite il me restera à faire un groupe de travail avec toutes les feuilles afin de faire la mise en page et prévoir les formules de calcul
Quelqu'un peut il m'aider dans la mise en place de cette macro et me dire la limite du nombre de feuilles possible dans un même classeur, car je souhaite tout avoir dans un seul et même classeur