ciao
la cosa più semplice è
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("G9") = "Azienda 1" Then
Range("D9").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="='FATTURE Azienda1'!$B$5:$B$29"
End With
ElseIf Range("G9") = "Azienda 2" Then
Range("D9").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="='FATTURE Azienda2'!$B$5:$B$29"
End With
End If
End Sub
da mettere sul foglio Fatture
e così via per ogni cliente ( un elseif )
ma immagino ci sia qualcosa di meno laborioso da scrivere