Excel: extraire des données

gege25 -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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 ?

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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