Salut,
Ce n'est pas un userform, on ne peut pas écrire sheets(1).combobox1 quand on crée à la volée, mais testes plutôt:
AddNameToComboBox PI.Name, selection.object
Cela s'appliquera à la 2 eme combo créée.
Autre approche qui devrait fonctionner, j'ai pas testé
dim Lacombo1 as MSForms.ComboBox
dim Lacombo2 as MSForms.ComboBox
Dim PT As PivotTable
Dim PI As PivotItem
set Lacombo1= ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=170, Top:=19, _
Width:=150, Height:=17).object
Set PT = ActiveWorkbook.Sheets("Données").PivotTables("TCD comparaison d'états NB")
set lacombo2= ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=357, Top:=19, _
Width:=150, Height:=17).object
For Each PI In PT.PivotFields("Entité").PivotItems
If Left(PI.Name, 8) <> "AFFAIRES" Then
AddNameToComboBox PI.Name, lacombo1
End If
Next
'faire le traitement pour le 2 eme combo
A+++