Option Explicit'c'est la
Private Sub CommandButton2_Click()
Option Explicit 'n'est pas a sa place sa place c'est en tête de module hors procèdure , c'est ce qui impose la déclaration des variables
Dossier 'doit seul etre dans la procedure Click c'est le nom qui appel la macro ce qui est en italique ne doit pas y figurer
Dim lig As Long, Col As Integer
Dim ColB As String, ColC As String
Dim Derlig As Double, VCar As String
Dim VPath As String
' Récupère la dernière ligne de la feuille
Derlig = Range("A" & Application.Rows.Count).End(xlUp).Row
' Sauter la 1ère ligne d'entête
For lig = 6 To Derlig
' Récupère la valeur de la ligne de la colonne B
ColB = Range("B" & lig).Value
' Récupère la valeur de la ligne de la colonne C
ColC = Range("C" & lig).Value
' Pour chaque colonne
For Col = 1 To 4
' Récupérer la valeur de la ligne 5 de la colonne 3 + Col
VCar = Cells(5, 3 + Col)
If ColB <> "" And ColC <> "" And VCar <> "" Then
VPath = "C:\" & ColB & "\" & ColC & "\" & VCar
Cells(lig, 3 + Col).Value = VPath
CreerDossier VPath
End If
Next Col
Next lig
End Sub