Créer une macro qui permet de créer un fichier par rapport à une c
3 réponses
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.
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
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
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
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
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
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
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
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
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
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