Salut Saumon,
tu m'excuseras d'encore douter de la pertinence de ta demande, mais bon, voilà...
Un double-clic sur la feuille 'Liste' démarre la macro.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tCity, tColor, tCombi(), iIdx%
'
Application.ScreenUpdating = False
Cells.Delete
'
With Worksheets("Villes")
tCity = .Range("A2:B" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
With Worksheets("Couleurs")
tColor = .Range("A2:B" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
'
ReDim tCombi(UBound(tColor, 1) * UBound(tCity, 1), 4)
[A1].Resize(1, 4) = Array("Pays", "Villes", "Couleurs", "Valeurs")
For x = 1 To UBound(tCity, 1)
For y = 1 To UBound(tColor, 1)
iIdx = iIdx + 1
tCombi(iIdx - 1, 0) = tCity(x, 1)
tCombi(iIdx - 1, 1) = tCity(x, 2)
tCombi(iIdx - 1, 2) = tColor(y, 1)
tCombi(iIdx - 1, 3) = tColor(y, 2)
Next
Next
Range("A2").Resize(UBound(tCombi, 1), 4).Value = tCombi
Application.ScreenUpdating = True
'
End Sub
A+