Formule pour extraire des caractères de plusieurs cellules

Lud -  
danielc0 Messages postés 2177 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour à tous !

Jusqu'ici j'avais la formule suivante qui fonctionne

=SUBSTITUE(STXT(_Data[@[GS consommées]];12;10)&STXT(_Data[@[GS consommées]];39;14)&STXT(_Data[@[GP consommées]];4;8)&STXT(_Data[@[CH consommées]];12;13)&STXT(_Data[@[CH consommées]];37;13)&DROITE(_Data[@[GN consommées]];13)&RECHERCHEV(_Data[@[ProductID du MFD]] & _Data[@Machine];AdditionalInfo3;6;FAUX);"IOPZ";"")

Formule qui me renvoie les caractères contenus dans différents onglets/colonnes en ne conservant que certains caractère selon le cas. Puis enfin, suppression des valeurs "IOPZ" s'il y en a.

J'aimerais ajouter un "subsitute"  (sur le même principe du IOPZ retiré des résultats finaux) qui dise de "remplacer par rien", toute chaîne commençant par "CGP" et sur les 11 caractères suivants (il peut y avoir un espace, inclus dans les 11 Caractères).

exemple: si j'avais dans mes résultats qqs chose du type : CGP 1234567

cette valeur serait supprimée du résultat de ma formule

Mais je ne sais pas comment faire un substitue de ce type, qui plus est imbriqué dans la formule de départ.

Par avance merci beaucoup pour votre aide !


Windows / Chrome 106.0.0.0

3 réponses

  1. Willzac Messages postés 281 Statut Membre 15
     

    Bonjour Lud, 

    C'est difficile de vous aider sans le fichier d'exemple.

    Bien cordialement

    Will

    0
  2. danielc0 Messages postés 2177 Date d'inscription   Statut Membre Dernière intervention   286
     

    Bonjour,

    Est-ce que tu acceptes une solution avec une fonction VBA ?

    Cordialement.

    Daniel


    0
  3. danielc0 Messages postés 2177 Date d'inscription   Statut Membre Dernière intervention   286
     

    Re, Au cas où tu aurais un abonnement Microsoft 365  :

    =JOINDRE.TEXTE("";;SI(GAUCHE(FRACTIONNER.TEXTE(SUBSTITUE(C5;"CGP";"***CGP");"***");3)="CGP";STXT(FRACTIONNER.TEXTE(SUBSTITUE(C5;"CGP";"***CGP");"***");12;9^9);FRACTIONNER.TEXTE(SUBSTITUE(C5;"CGP";"***CGP");"***")))

    Remplace "C5 par le texte à traiter.

    Daniel


    0