Sa fonctionne si la colonne est longue environ 1000 lignes sa prend du temps mais sa fonctionne.
Un code un peu plus optimisé et rapide :
Sub Transfo()
Dim Lig As Long, LigMax As Long, Car As Integer, Chaine As String, Contenu As String
Application.Calculation = xlCalculationManual
With Sheets("Feuil1")
LigMax = .Range("E" & Rows.Count).End(xlUp).Row
For Lig = 4 To LigMax Step 2
.Range("H" & Lig / 2 + 2) = .Range("E" & Lig)
Chaine = "" : Contenu = .Range("E" & Lig + 1)
If Left(Contenu, 9) = "Gentilé :" Then
For Car = 10 To Len(Contenu)
If IsNumeric(Mid(Contenu, Car, 1)) Then Exit For
Chaine = Chaine & Mid(Contenu, Car, 1)
Next Car
.Range("I" & Lig / 2 + 2) = Chaine
End If
Next Lig
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Et si ça fonctionne, je veux bien que tu indiques que ton problème est résolu...