Excel VBA - Création fichier par code

Résolu/Fermé
Erantsoa Messages postés 5 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 18 avril 2019 - 23 janv. 2019 à 09:19
Erantsoa Messages postés 5 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 18 avril 2019 - 23 janv. 2019 à 11:40
Hello,

Je voudrais créer un fichier de façon automatique (je sais comment faire jusque là) mais en le nommant à partir d'une liste:
- j'ai une liste de nom de fichier à créer dans une feuille
- je veux les créer en même temps

Sub Bouton2_Clic()
Dim classeur As Workbook

Set classeur = Workbooks.Add
classeur.SaveAs "aaa"

End Sub


Je veux faire en sortes que "aaa" soit fait par itération comme:

classeur.SaveAs range("A"&i).value pour i=1 à 100 par exemple

Merci
A voir également:

3 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
23 janv. 2019 à 09:50
0
Erantsoa Messages postés 5 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 18 avril 2019
Modifié le 23 janv. 2019 à 10:20
merci Patrice33740.

Mais c'est la façon de le faire que je ne maitrise pas.

On peut faire du genre
Sub Bouton2_Clic()
Dim classeur As Workbook

For i = 1 To 2
    Set classeur = Workbooks.Add
    With classeur
        .SaveAs i
    End With
Next
End Sub


là ça marche mais si je veux récupérer des données ca ne marche pas
Sub Bouton2_Clic()
Dim classeur As Workbook

For i = 1 To 2
    Set classeur = Workbooks.Add
    i = Range("A" & i)
    With classeur
        .SaveAs i
    End With
Next
End Sub
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
23 janv. 2019 à 10:48
Bonjour,

Plutôt :
Option Explicit
Sub Bouton2_Clic()
Dim classeur As Workbook
Dim dossier As String
Dim nom As String
Dim i As Integer
  dossier = ThisWorkbook.Path & "\"                  'ou autre à adapter
  For i = 1 To 2
    Set classeur = Workbooks.Add
    nom = Worksheets("Feuil1").Range("A" & i).Value  'ou autre à adapter
    nom = dossier & nom                              ' nom complet
    With classeur
      .SaveAs nom
    End With
  Next
End Sub


0
Erantsoa Messages postés 5 Date d'inscription lundi 15 janvier 2018 Statut Membre Dernière intervention 18 avril 2019
23 janv. 2019 à 11:40
merci Patrice33740..
0