Extraire valeur

magentolek Messages postés 1 Statut Membre -  
 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

2 réponses

  1. Gyrus Messages postés 3360 Statut Membre 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
  2. 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
    1. Gyrus Messages postés 3360 Statut Membre 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
      1. Utilisateur anonyme > Gyrus Messages postés 3360 Statut Membre
         
        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