extraire des caracteres

teodormircea

XLDnaute Occasionnel
Bonjour le forum

Pour extraire des caractères a partir d'une cellule j'utilise cette formule
Par ex :
si je veux extraire EN
ABD-EN-FINLAND

Code:
=MID(RC[-1],(FIND("-",RC[-1],1)+1),FIND("-",RC[-1],FIND("-",RC[-1],1)+1)-FIND("-",RC[-1],1)-1)

facile , je cherche une solution a appliquer par macros, il ya quelcun qui a une idee
 

vbacrumble

XLDnaute Accro
Re : extraire des caracteres

Bonjour

EDITION : code précédent transformé en fonction VBA personnalisée
Code:
Function Mextract(z As Range, Optional Sep$, Optional Item As Long) As String
Mextract = IIf(Len(z) > 0, Split(z.Text, Sep)(Item), z)
End Function
Si en A1 : ABD-EN-FINLAND
En B1 : =Mextract($A$1;"-";0) --> ABD
En B2 : =Mextract($A$1;"-";1) --> EN
En B3: =Mextract($A$1;"-";2) ---> FINLAND


Code:
Sub ex()
Dim s$
s = "ABD-EN-FINLAND"
MsgBox Split(s, "-")(1)
End Sub
 
Dernière édition:

teodormircea

XLDnaute Occasionnel
Re : extraire des caracteres

J'ai améliore, mais j'ai loupe un truc, le Split veux pas marche
voila un fichier avec un exemple.
 

Pièces jointes

  • Work Macros.xls
    26.5 KB · Affichages: 37
  • Work Macros.xls
    26.5 KB · Affichages: 45
  • Work Macros.xls
    26.5 KB · Affichages: 46

Pierrot93

XLDnaute Barbatruc
Re : extraire des caracteres

Bonjour,

dans le module 1 tu as créé une procédure nommée "SPLIT", Split est une fonction intégrée vba, tu ne peux donc pas l'utiliser comme nom de variable ou de procédure...

bon après midi
@+
 

vbacrumble

XLDnaute Accro
Re : extraire des caracteres

Re


Tu ne réponds pas aux questions ?

C'est OK chez moi
Code:
Private Sub CommandButton1_Click()
Dim lastrow&, col&, i&
lastrow = Feuil1.[A65536].End(xlUp).Row
col = TextBox1.Value
For i = 2 To lastrow
TextBox2.Value = VBA.Split(Feuil1.Cells(i, col).Text, "-")(1)
Next i
End Sub
 
Dernière édition:

teodormircea

XLDnaute Occasionnel
Re : extraire des caracteres

Oui je l'ai bine vu

Juste je voudrais améliorer au lieu d'afficher le résultat avec un message le mettre dans la colonne choisie , comme dans la USF cree
 

Pièces jointes

  • Work Macros.xls
    29 KB · Affichages: 30
  • Work Macros.xls
    29 KB · Affichages: 34
  • Work Macros.xls
    29 KB · Affichages: 34

teodormircea

XLDnaute Occasionnel
Re : extraire des caracteres

au fait je voulais faire le macros comme ceci,

choisir d'abord dans texbox1 , la colonne contenant le texte a splitter
et puis choisir dans textbox2 la colonne ou mettre le résultat
 
Dernière édition:

teodormircea

XLDnaute Occasionnel
Re : extraire des caracteres

J'ai modife le code comme ceci mais j'ai une erreur , il dit que s est invalid

Code:
Private Sub CommandButton1_Click()
Dim lr&, col1&, col2&, i&, j&, s&
col1 = TextBox1
lr = ActiveSheet.Cells(Rows.Count, col1).End(xlUp).Row - 1


col2 = TextBox2
    For i = 2 To lr
        For j = 1 To 3
        If Me.Controls("OptionButton" & j) = True Then
    col2.Value = VBA.Split(s.Cells(i, col1).Text, "-")(Me.Controls("OptionButton" & j).TabIndex)
       
        End If
        Next j
    Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2