Extraire valeur

magentolek Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

J'ai un excel avec dans les cases d'une colonne donnee une chaîne de texte:
4,13,43,99,124,125,132,133,140,141,145,5

je voudrai par exemple extraire la valeur 4 dans une nouvelle colonne. mon problème est que les cases ne suivent pas toujours le même ordre et je ne peux donc pas utiliser la fonction stxt.

l'ideal serait une formule du type: si A1 contient "4"; B1="4"; sinon B1="0", je ne sais pas si cela existe.

merci d'avance pour votre aide
A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Une solution avec une fonction personnalisée
Function Trouve4(Cel As Range) As String
Dim T
Dim i As Integer
T = Split(Cel, ",")
Trouve4 = "0"
For i = 0 To UBound(T)
If T(i) = "4" Then
Trouve4 = "4"
Exit For
End If
Next i
End Function

A+
0
Utilisateur anonyme
 
Bonjour magentolek,

Voici une solution sans macro :

En A1 : 4,13,43,99,124,125,132,133,140,141,145,5
En B1 : 132 (le nombre que tu cherches)
En C1 : =SIERREUR(CHERCHE("," & B1 & ",";"," & A1 & ",");0)
En D1 : =SI(C1>0;B1;0)

C1 retourne la position du nombre dans la chaîne,
ou 0 si le nombre n'a pas été trouvé.

Remarque : CHERCHE() retourne #VALEUR si valeur_cherchée
est introuvable ; c'est pourquoi j'ai utilisé SIERREUR().

D1 retourne le nombre s'il a été trouvé, 0 sinon.

Attention : si le nombre cherché apparaît plus d'une fois
dans la chaîne, seul le premier sera détecté. J'aurai bien
une solution pour cela, mais c'est inutile si le nombre
que tu cherches dans la chaîne n'y apparaît qu'une fois.

Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».

Cordialement.  😊
 
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour albkan,

Je te propose
=SIERREUR(CHERCHE("," & B1& ",";"," & A1);0)
pour éviter le problème posé par les numéros 40, 41 ,etc...

A+
0
Utilisateur anonyme > Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Gyrus,

C'est exact, mais dans ce cas, il faut aussi ajouter une "," à la fin de A1
pour pouvoir détecter le dernier nombre ; de la même façon, j'avais
ajouté une "," devant A1 pour pouvoir détecter le premier nombre.

Merci pour ton intervention et pour ta correction ; je viens de modifier
mon message #2 en conséquence : ligne En C1 : =...

Cordialement.  😊
 
0