Partager via

Formule Excel -Prendre en compte seulement un numéro de 7 chiffres dans une formule

Anonyme
2019-11-07T14:24:45+00:00

Hello à tous,

J’aimerais si possible améliorer cette fonction excel =IFERROR((MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),7))*1,"")

afin de prendre en compte seulement un numéro de 7 chiffres dans la cellule A1 :

Example de contenu de la cellule A1 : TEST 1234567 à cela donne 1234567

J’aimerais que si il y a un numéro autre que 7 chiffre il le passe pour seulement prendre le numéro de 7 chiffres :

Pour l’instant si la cellule A1 contient :

Example de contenu de la cellule A1 : 123 Test 1234567 cela va rien prendre étant donné que le premier nombre n’as pas 7 chiffes et j’aimerais que cela me donne 1234567.

Merci d’avance pour ceux qui ont du temps afin de répondre à cette question.

Meilleures salutations,

guguf

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

12 réponses

  1. Anonyme
    2019-11-08T10:17:03+00:00

    Hello,

    Cette formule marche très bien mais admettons que le n° de 7 chiffres est collé avec des lettres 

    Exemple : PO1234567 

    La formule ne marche plus serait-il possible de la faire fonctionner dans ces circonstances ?

    Encore merci pour votre aide précieuse.

    Cordialement.

    Guguf

    Excel étant en anglais chez moi j'ai dû utiliser la formule en anglais

    0 commentaires Aucun commentaire
  2. Hecatonchire 53,460 Points de réputation Modérateur bénévole
    2019-11-08T09:59:04+00:00

    Une autre version pour gérer cas de la ligne 4 et 11

    =SIERREUR(STXT(A1;MAX(ESTNUM(STXT(SUBSTITUE(A1;" ";"A");LIGNE($1:$20);7)*1)*(NBCAR(STXT(A1;LIGNE($1:$20);7))=7)*LIGNE($1:$20));7);"")

    0 commentaires Aucun commentaire
  3. Hecatonchire 53,460 Points de réputation Modérateur bénévole
    2019-11-08T09:16:03+00:00

    Sur l'image, l'erreur (manque 7) en ligne 9 vient du faite que la position du 1er chiffre du groupe de 7 est après le 10eme caractère !

    Remplacer LIGNE($1:$10) par LIGNE($1:$100) pour aller jusqu’à 100.

    Ps

    =MAX(SIERREUR(STXT(A1;LIGNE($1:$30);7)*1;0)) est suffisant (fonction somme inutile)

    0 commentaires Aucun commentaire
  4. Anonyme
    2019-11-08T08:37:38+00:00

    Bonjour,

    S'il vous plaît essayez d'utiliser cette formule:

    =SIERREUR(STXT(SUPPRESPACE(A1);TROUVE("@";SUBSTITUE(SUPPRESPACE(A1);" ";"@";2))+1;7)*1;"")

    ou cette formule:

    =SIERREUR(STXT(SUPPRESPACE(A2);TROUVE("@";SUBSTITUE(SUPPRESPACE(A2);" ";"@";NBCAR(SUPPRESPACE(A2))-NBCAR(SUBSTITUE(SUPPRESPACE(A2);" ";""))))+1;7)*1;"")

    Dans la première formule, il est supposé que vous avez au moins deux espaces vides entre les premiers et les derniers chiffres.

    La deuxième formule suppose que vous avez au moins un espace vide entre les premiers nombres (pouvant être définis en tant que données alphanumériques) et les derniers chiffres.

    Cordialement.

    Remarque: Voici les formules en anglais.

    =IFERROR(MID(TRIM(A1),FIND("@",SUBSTITUTE(TRIM(A1)," ","@",2))+1,7)*1,"")

    =IFERROR(MID(TRIM(A2),FIND("@",SUBSTITUTE(TRIM(A2)," ","@",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))+1,7)*1,"")

    0 commentaires Aucun commentaire
  5. Hecatonchire 53,460 Points de réputation Modérateur bénévole
    2019-11-08T08:29:10+00:00

    Bonjour

    =SOMME(MAX(SIERREUR(STXT(A1;LIGNE($1:$10);7)*1;0)))

    0 commentaires Aucun commentaire