Extraire une chaine de caractère excel

Résolu
Bonjour,

Dans EXCEL, je souhaite extraire la data qui se trouve dans le nom d'une cellule, dont voici des exemples:
aaaaaaaaaaa.download.aaaaaa.com/21060/.../20101115_aaaaaaaaaaa_high_en_cutqna.wmv
aaaaaaaaaaa.download.aaaaaa.com/21060/20110519/20110519_aaaaaaaaaaa_high_en.wmv
aaaaaaaaaaa.download.aaaaaa.com/21060/20110729/20110729_aaaaaaaaaaa_high_en.wmv


Je voudrais en fait extraire la partie en gras et la mettre dans une autre colonne.
le soucis est que je ne peux pas utiliser la fonction STXT comme ça, étant donné que la position de la date varie selon le nom qu'il y a dans chaque cellule...

Pouvez-vous m'aider à trouver la formule adéquate svp?

Merci d'avance.

yiye

7 réponses

  1. en fait je voudrais prendre les 8 chiffres suivant le 3ème " / "
    0
    1. Modérateur
      Bonjour,

      Tu pourras trouver ici une formule plus ou moins universelle.
      Je l'ai adaptée à ton cas, ça donne :
      Bien sur en A1 saisir : aaaaaaaaaaa.download.aaaaaa.com/21060/.../20101115_aaaaaaaaaaa_high_en_cutqna.wmv

      La formule à inscrire en B1 (ou ailleurs...) :
      =GAUCHE(STXT(A1;CHERCHE("|";SUBSTITUE(A1;"/";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))))+1;999);8)
      0
      1. Merci beaucoup
        j'ai essayé votre formule: elle marche presque pour toutes les lignes mais il y a un bug sur certaines lignes comme par exemple :

        aaaaaaaaaaa.download.aaaaaa.com/21060/20101005/aaaaa_2010_EN.wmv

        je viens de voir que sur toutes les lignes, je souhaiterais avoir les 8 chiffres suivant le 3ème "/".
        0
        1. Modérateur
          1- juste pour êter tout à fait exact ce n'est pas ma formule,
          2- elle fonctionne selon la demande initiale.

          je viens de voir que sur toutes les lignes, je souhaiterais avoir les 8 chiffres suivant le 3ème "/".
          NON! Pas dans l'exemple que tu nous donnes ci-dessus :
          aaaaaaaaaaa.download.aaaaaa.com/21060/20101005/aaaaa_2010_EN.wmv
          ....................
          3- ce que tu souhaites faire est donc impossible par formule (1 fois après le 3ème "/", une fois après le second...)

          Ne reste que VBA et une fonction personnalisée qui sera très lourde si tu as de nombreuses lignes à traiter.
          Ou alors utilises la formule donnée plus haut et rectifies les quelques lignes ou elle ne fonctionne pas...
          0
          1. Oui vous avez raison.
            je vais faire comme vous me le conseillez il n'y en a pas tant que ça :)

            Merci beaucoup à vous
            0
            1. Modérateur
              Bon t'as de la chance, j'y suis parvenu sans trop farfouiller...
              Pour info, voici les sources :
              - Tuto de Caféine
              - Post et code de Michel_M

              Procédure :
              - Depuis la feuille de calcul Excel tapez ALT+F11
              - Outils/Références, cocher : Microsoft VBScript Regular Expressions 5.5
              - Puis Insertion/Module
              - Dans ce module copiez/collez ce code :
              Function Extraire8Chiffres(texto As Range)
              Dim reg As Object
              Dim extraction As Object
              Dim maj As Variant
              
                  Set reg = CreateObject("vbscript.regexp")
                  reg.Global = False
                  reg.Pattern = "(\d{8})"
                  Set extraction = reg.Execute(texto)
                  For Each maj In extraction
                      Extraire8Chiffres = maj.Value
                  Next maj
              End Function

              - Fermez Visual Basic Editor pour revenir dans votre feuille de calcul,
              - La formule devient donc maintenant :
              =Extraire8Chiffres(A1)
              0
              1. Bonjour à tous,
                La difficulté réside toujours dans la recherche d'un élément constant et sans ambiguité.
                Si "/201" répond à ces critères on peut utiliser:
                =STXT(A2;CHERCHE("/201";A2;1)+1;8)
                0
                1. Modérateur
                  Salut,
                  Bien vu tontong!
                  Je n'avais effectivement pas regardé ça de près...

                  Mais bon s'il a des films de 1999...
                  0
                2. Contributeur
                  ou même des années 2000...
                  0