Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer une macro qui permet de créer un fichier par rapport à une c

3 réponses
Avatar
Emmanuel Douhme
Bonnjour,

J'ai une base de données excel. Cette base alimente des fiches.
Je voudrais que chaque fiche soit que sur un seul classeur.
1 ligne de ma base de données remplit une fiche et cette fiche crée un
fichier excel.
Donc j'aurai autant de fichiers excel que de lignes dans ma base de données.

ex :
Nom PRENOM NUMERO
Moi Jean 123
Lui Paul 456

Je voudrais que le nom du fichier soit 123.xls puis 456.xls etc..
Merci par avance de votre réponse.

3 réponses

Avatar
JB
Bonjour,

Crée des fiches.

http://cjoint.com/?fvsYQO76LR

Sub essai()
For Each c In Range([A2], [A65000].End(xlUp))
nom = c.Value
Sheets("modèle").Cells(1, 2) = c.Value
Sheets("modèle").Cells(3, 2) = c.Offset(0, 1).Value
Sheets("modèle").Cells(5, 2) = c.Offset(0, 2).Value
Sheets("modèle").Copy
ActiveSheet.Name = nom
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=nom
ActiveWorkbook.Close
Next c
End Sub

Cordialement JB
Avatar
Emmanuel Douhme
Merci pour la réponse.
Cela crée des fiches comme je voulais sur d'autres feuilles mais du même
classeur.
Ce que j'aimerai, c'est 1fiche par classeur soit autant de classeur crée que
j'ai de fiche.
Merci quand meme


Bonjour,

Crée des fiches.

http://cjoint.com/?fvsYQO76LR

Sub essai()
For Each c In Range([A2], [A65000].End(xlUp))
nom = c.Value
Sheets("modèle").Cells(1, 2) = c.Value
Sheets("modèle").Cells(3, 2) = c.Offset(0, 1).Value
Sheets("modèle").Cells(5, 2) = c.Offset(0, 2).Value
Sheets("modèle").Copy
ActiveSheet.Name = nom
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=nom
ActiveWorkbook.Close
Next c
End Sub

Cordialement JB




Avatar
Emmanuel Douhme
Excuse moi, je viens d'essayer ta macro, j'avais mal regarder.
C''est exactement ce que je voulais.
Merci pour tout.


Bonjour,

Crée des fiches.

http://cjoint.com/?fvsYQO76LR

Sub essai()
For Each c In Range([A2], [A65000].End(xlUp))
nom = c.Value
Sheets("modèle").Cells(1, 2) = c.Value
Sheets("modèle").Cells(3, 2) = c.Offset(0, 1).Value
Sheets("modèle").Cells(5, 2) = c.Offset(0, 2).Value
Sheets("modèle").Copy
ActiveSheet.Name = nom
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=nom
ActiveWorkbook.Close
Next c
End Sub

Cordialement JB