macro création de feuilles auto suivant les références d'une feu il

Le
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

d'avance merci pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18829391
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
Le #18829511
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" 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
Le #18829831
ç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
Le #18829981
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" 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
Le #18830151
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 !!!!
Françoise
Le #18835751
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" 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



Publicité
Poster une réponse
Anonyme