Creation d'un fichier XLS dans une Macro Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
a
anyali
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 10 décembre 2015
Version d'Excel : 2013

Message par anyali » 10 décembre 2015, 08:57

Bonjour,

Je suis nouveau dans le monde VBA c'est ma première macro.

J'ai écrie une macro qui li ligne par ligne un tableau Excel est pour chaque ligne crée un fichier CSV avec le contenue de la ligne, cette macro marche bien. Le problème est que j'ai besoin d'envoyer le fichier a des utilisateurs est le format CSV est pas top.

Je souhaite faire la même chose, mais pas dans un fichier CSV, mais dans XLS. J'ai lu pas male de tutos, mais je n’arrive pas a comprendre comment la fonction workbook marche et comment mettre, mon contenue de variable dans le fichier.

Merci pour votre aide

Anyali
testv1.xlsm
(14.64 Kio) Téléchargé 22 fois
a
andrea73
Membre impliqué
Membre impliqué
Messages : 1'123
Inscrit le : 18 septembre 2015
Version d'Excel : 2013 FR

Message par andrea73 » 11 décembre 2015, 01:04

Bonjour anyali

Est-ce que cela te convient ?
testv2.xlsm
(20.49 Kio) Téléchargé 14 fois

Cordialement
Andréa73
a
anyali
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 10 décembre 2015
Version d'Excel : 2013

Message par anyali » 11 décembre 2015, 08:37

Merci pour ta réponse, j'ai finalement aussi trouver une solution cette nuit a force de chercher, j'ai même trouver comment changer les couleurs, et taille des colonnes :D ...

Sub Macro1()
Dim col1 As String
Dim col2 As String
Dim col3 As String
Dim col4 As String
Dim col5 As String
output_row = 1

Do
DoEvents
output_row = output_row + 1
col1 = ActiveSheet.Range("B" & output_row)
col2 = ActiveSheet.Range("C" & output_row)
col3 = ActiveSheet.Range("D" & output_row)
col4 = ActiveSheet.Range("E" & output_row)
col5 = ActiveSheet.Range("F" & output_row)
If col1 <> "" Then
Workbooks.Add
Cells(1, 2).Value = col1
Cells(2, 2).Value = col2
Cells(3, 2).Value = col3
Cells(4, 2).Value = col4
Cells(5, 2).Value = col5
ActiveWorkbook.SaveAs "C:\temp\vba\" & col2 & ".xlsx"
ActiveWorkbook.Close SaveChanges:=False
Windows("testv1.xlsm").Activate
End If
Loop Until col1 = ""
End Sub
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message