OVH Cloud OVH Cloud

Extraire d'une cellule

4 réponses
Avatar
Pierre
Bonjour.

J'ai dans une cellule des =E9l=E9ments s=E9par=E9es par un / ex :=20
98 =3D 27,27 / 99 =3D 33,56 / 01 =3D 36,67
Comment faire afin de dire en VBA extraire la premi=E8re=20
partie ex : 98 =3D27,27 dans une cellule A11 la 2=E8me partie=20
en A27, puis la 3=E8me en A29 ?

Merci beaucoup
Pierre

4 réponses

Avatar
twinley
Bonjour

Pour extraire 1 car, à ajuster si tu en veux plusieurs
Mid("S8",2,1)ouRight("S8", 1)ou pour une celluleRight([A1],1)Ou left(String,
NbCar)
--
à+twinley
"Pierre" a écrit dans le message de
news:645201c47548$be2ea6c0$
Bonjour.

J'ai dans une cellule des éléments séparées par un / ex :
98 = 27,27 / 99 = 33,56 / 01 = 36,67
Comment faire afin de dire en VBA extraire la première
partie ex : 98 ',27 dans une cellule A11 la 2ème partie
en A27, puis la 3ème en A29 ?

Merci beaucoup
Pierre
Avatar
Emcy
Re-bonjours,

il faut utiliser la même méthode que pour le point virgule : Split

"Pierre" a écrit dans le message de
news:645201c47548$be2ea6c0$
Bonjour.

J'ai dans une cellule des éléments séparées par un / ex :
98 = 27,27 / 99 = 33,56 / 01 = 36,67
Comment faire afin de dire en VBA extraire la première
partie ex : 98 ',27 dans une cellule A11 la 2ème partie
en A27, puis la 3ème en A29 ?

Merci beaucoup
Pierre
Avatar
Hervé
Salut Pierre,
2 solutions parmis les autres :o)

Sub Extraire1()
Dim I As Integer
Dim J As Integer

I = InStr(ActiveCell.Value, "/")
J = InStrRev(ActiveCell.Value, "/")
[A11] = Trim(Left(ActiveCell.Value, I - 1))
[A27] = Trim(Mid(ActiveCell.Value, I + 1, J - (I + 1)))
[A29] = Trim(Right(ActiveCell.Value, Len(ActiveCell.Value) - J))

End Sub
'----------------------------
Sub Extraire2()
Dim I As Integer
Dim J As Integer

Dim Chaine1, Chaine2, Chaine3
For I = 1 To Len(ActiveCell)
If Mid(ActiveCell.Value, I, 1) = "/" Then
If J = 1 Then J = 2
If J = 0 Then J = 1
Else
Select Case J
Case 0
Chaine1 = Chaine1 & Mid(ActiveCell.Value, I, 1)
Case 1
Chaine2 = Chaine2 & Mid(ActiveCell.Value, I, 1)
Case 2
Chaine3 = Chaine3 & Mid(ActiveCell.Value, I, 1)
End Select
End If
Next I

[A11] = Trim(Chaine1)
[A27] = Trim(Chaine2)
[A29] = Trim(Chaine3)

End Sub

Hervé.

"Pierre" a écrit dans le message de news:
645201c47548$be2ea6c0$
Bonjour.

J'ai dans une cellule des éléments séparées par un / ex :
98 = 27,27 / 99 = 33,56 / 01 = 36,67
Comment faire afin de dire en VBA extraire la première
partie ex : 98 ',27 dans une cellule A11 la 2ème partie
en A27, puis la 3ème en A29 ?

Merci beaucoup
Pierre
Avatar
Shnoulle
Salut Pierre,

Si tu as toute une colonne comme ca, tu peut utiliser données,
convertir: autre caractéres: "/"

A+


Pierre wrote:
Bonjour.

J'ai dans une cellule des éléments séparées par un / ex :
98 = 27,27 / 99 = 33,56 / 01 = 36,67
Comment faire afin de dire en VBA extraire la première
partie ex : 98 ',27 dans une cellule A11 la 2ème partie
en A27, puis la 3ème en A29 ?

Merci beaucoup
Pierre