Bonjour, merci beaucoup pour le coup de main. J’avais oublié qu’on pouvait déclarer des variables Range.
J’ai une erreur de compilation sur mon deuxième programme à la ligne « cc = WorksheetFunction.Len(Branchen) ». Erreur 438 « méthode mon trouvée ».
J’ai une feuille Excel avec en première colonne des noms d’entreprises et en deuxième des secteurs d’activités séparés par des virgules. Et je voudrais obtenir une feuille a deux colonnes comme ci-dessous:
Nomd’entreprise1 1° secteur d’activité
Nomd’entreprise1 2° secteur d’activité
Nomd’entreprise2 1° secteur d’activité
Ce qu’est censé faire ce programme
Sub Branchenextractor()
Dim Unternehmen As Range
Dim Branchen As Range
Dim Branche As Range
Dim virgule As String * 1
Dim aa As Byte
Dim bb As Byte
Dim zz As Long
Dim cc As Byte
virgule = ","
ll = 2
aa = 0
bb = 0
zz = 2
Do Until Cells(zz, 2) = "0"
Cells(zz, 2).Activate
Set Unternehmen = Cells(zz, 1)
Set Branchen = Cells(zz, 2)
cc = WorksheetFunction.Len(Branchen)
Do Until cc = aa
bb = WorksheetFunction.Search(virgule, Branchen, aa)
Set Branche = WorksheetFunction.Mid(Branchen, aa, bb - aa - 1)
Selection.Insert Shift:=xlDown
zz = zz + 1
Cells(zz, 1) = Unternehmen
Cells(zz, 2) = Branchen
Cells(zz - 1, 2) = Branche
aa = bb
Loop
Loop
End Sub