Excel: extraire des données
gege25
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
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 ?
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
-
Bonjour,
puisque tu es dans le forum programmation, proposition avec une fonction personnaliséeFunction 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