Private Sub CommandButton2_Click() 'bouton New file
Dim cls As Workbook 'déclare la variable cls (CLasseur Source)
Dim cld As Workbook 'déclare la variable cld (CLasseur Destination)
Dim ca As String 'déclare la variable ca (Chemin d'Accès)
Dim x As Integer 'déclare la variable x (incrément)
Dim y As Byte 'déclare la variable y (incrément)
Dim nc As String 'déclare la variable nc (Nom du Classeur)
If Me.ListBox1.ListCount = 0 Then Exit Sub 'si la ListBox est vide, sort de la procédure
Set cls = ThisWorkbook 'définit le classeur source
ca = ThisWorkbook.Path & "\" 'définit le chemin d'accès
Workbooks.Add 'ajoute un classeur
Set cld = ActiveWorkbook 'définit le classeur destination
With cld.Sheets("Feuil1") 'prend en compte l'onglet "Feuil1" du classeur destination
For x = 0 To Me.ListBox1.ListCount - 1 'boucle 1 : sur les x lignes de la ListBox1
For y = 0 To 7 'boucle 2 sur les 8 colonnes de la Listbox1 (peut-êter la dernière colonne (qui contient le numéro de ligne) n'est pas nécessaire...)
.Cells(x + 1, y + 1).Value = Me.ListBox1.List(x, y) 'récupère les données de ls ListBox1
Next y 'prochaine colonne de la boucle 2
Next x 'prochaine ligne de la boucle 1
End With 'fin de la prise en compte de l'onglet "Feuil1" du classeur destination
'boîte d'entrée pour le nom du fichier
nc = Application.InputBox("Tapez le nom que vous voulez-donner au classeur sans l'extension.", "Nom du Classeur", Type:=2)
If nc = "" Then Exit Sub 'si la boîte d'entrée n'est pas renseignée, sort de la procédure
cld.SaveAs (ca & nc & ".xls")
Unload UserForm7
End Sub