Extraire valeur d'une cellule

Bonjour

j'aurai besoin d'un coup de main ,

j'ai besoin d'extraire le score si il est présent; dans une cellule de tableau (colonne E et F de l'onglet MATCHS)

exemple : 33 - AL PORTERIE 2

il faut que j'extraie le 33

mais si : - Al PORTERIE 2

je n'extrais rien c'est que le match n'a pas été joué (ou le score pas encore validé par la Fédé.)

avec une fonction GAUCHE et RECHERCHE cela doit être possible, mais il faut que cela ce fasse en VBA

je vous joins le fichier excel

merci d'avance

13classeur1.xlsm (50.11 Ko)

en G2 :

=SIERREUR(GAUCHE(E2;CHERCHE(" - ";E2)-1)*1;"")

si tu veux en VBA, en te position sur G2 :

ActiveCell.FormulaR1C1 = "=IFERROR(LEFT(RC[-2],SEARCH("" - "",RC[-2])-1)*1,"""")"

Bonjour,

en pur VBA, voir du côté de la fonction Split

En effet, on peut créer une fonction comme suit :

Function score(cel As Range)
score = "??"
If UBound(Split(cel.Value, " - ")) > 0 Then score = Split(cel.Value, " - ")(0)
End Function
aurelien44300 a écrit :

exemple : 33 - AL PORTERIE 2

il faut que j'extraie le 33

mais si : - Al PORTERIE 2

je n'extrais rien c'est que le match n'a pas été joué

Sub Demo()
For Each TXT In [{"33 - AL PORTERIE  2","- Al PORTERIE 2"}]
    MsgBox Split(TXT, "- ")(0)
Next
End Sub

merci beaucoup , je vais regarder du cote du split , pour l'intégrer dans la macro que j'ai déja

j'ai juste un soucis c'est que ce que vous m'avez donné ne fonctionne qu'avec AL porterie , et il faudrait que j'extraie les résultats des adversaires aussi.

finalenement avec la fonction Score ca fonctionne tres bien

Rechercher des sujets similaires à "extraire valeur"