Excel: extraire des données

Fermé
gege25 - 22 oct. 2012 à 12:15
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 22 oct. 2012 à 13:48
Bonjour,
Je galère un peu à trouver une solution au problème suivant, j'aimerai extraire de la chaine suivante la note attribué à DEC qui est égale à 16.5 dans une nouvelle colonne:
BD : 16;DEC : 16;JMQ : 15;JR : 16,5;JS : 89-90;NM : 88-90;RG : 16;RP : 87-88;WS : 87-90


J'utilise la formule suivante:
=STXT(A2;TROUVE($B$1;A2)+NBCAR($B$1);TROUVE(";";A2))
Seulement, je n'ai pas trouver comment extraire le nombre de caractère équivalent à la note car sa longueur de caractère varie dans les lignes précédentes :)
En gros je cherche à extraire la chaine de caractère allant de DEC : à ; sans avoir à convertir les données. Une idée de comment je pourrais régler ca ?


A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 22/10/2012 à 13:49
Bonjour,

puisque tu es dans le forum programmation, proposition avec une fonction personnalisée
Function extraire_note(texto As String, criter As String) As Double 
Dim T_pntvirg, Cptr As Integer 
T_pntvirg = Split(texto, ";") 
For Cptr = 0 To UBound(T_pntvirg) 
     If T_pntvirg(Cptr) Like "*" & criter & "*" Then 
          extraire_note = Split(T_pntvirg(Cptr), " : ")(1) 
          Exit Function 
     End If 
Next 
End Function


on peut aussi trouver la réponse par formule mais c'est assez prise de t^te et c'est lundi.... ;o)


Michel
1