Bonjour,
J'essais de créer un code vba afin de pouvoir retirer de l'information d'une cellule et la mettre dans une nouvelle colonne. Voici l'information typique que contient mes cellules:
P_1_6_15_460_SHS40x40x2.66_100_N
Je voudrais, dans 3 colonnes différentes, avoir 40, 40 et 2.66. Il est a noté que les cellules ne contiennent pas toujours le même nombre de caractères. On pourrait avoir: P_1_6_15_460_SHS100x40x2_100_N. Je dois passer par vba vu le grand nombre de données que je souhaite traiter.
Voici le code que j'ai tenté de faire:
la fonction:
Function Extract(name As String, Optional first As String = " ", Optional final As String = " ")
On Error GoTo FunctionErr
If InStr(1, name, first) = 0 Then
Extraxt = CVErr(x1ErrNA)
Exit Function
Else
position_first = InStr(1, name, first) + Len(frist)
End If
If final = "" Then
position_final = Len(name)
Else
position_final = InStr(1, name, final) - 1
End If
Extract = Mid(name, position_first, position_last - position_first + 1)
Exit Function
FunctionErr:
Extract = CVErr(x1ErrNA)
End Function
La partie du code qui concerne cette étape:
For Line = 3 To last
Dim name As String
Dim first As String
Dim final As String
name = Sheets("Full_DB").Cells(Line, 1)
first = "SHS"
final = "x"
h_nominal = Extract(name, first, final)
FL1.Cells(Line, 5).Value = h_nominal
Next Line
Le problème semble être causé par "name".
Merci