Xieme occurence, extract 4

Résolu
Bonjour,

Je recherche une formule Excel pour extraire 4 caractères de droite tjs après le 6ieme "@".

Dans ce cas, la formule doit extraire "0550"

@14@22@/14@@9@0550@/9@@12@04@/12@@13@6418@/13@@2@@/2@@4@@/4@@15@@/15@

Pouvez-vous m'aider ?

Merci
Configuration: Windows XP Internet Explorer 7.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour

    essaies cette fonction personnalisée

    Function extraire_mot(texto As String, separateur As String, seuil As Byte, nbre As Byte) As String
    Dim mot As String
    Dim tablo
        tablo = Split(texto, separateur)
        mot = tablo(seuil)
        If Len(mot) > 4 Then
            mot = Right(mot, nbre)
        End If
        extraire_mot = mot
    End Function
    


    Dans laquelle texto est ton texte, séparateur est ici l'arobase, seuil est ici 6 et nbre est ici 4.

    Si tu ne connais pas VBAou les macros, dis le, on t'expliquera comment installer
    1. Merci Michel,

      Effectivement, je n'y connais rien en vba.
      J'ai fait un clic droit sur l'onglet concerné > visualiser le code...

      J'ai ensuite collé ton script.

      Comment ton script sait-il sur quelle donnée il doit travailler et où est stockée la chaîne de caractère extraite après le sixième "@" ?

      John
  2. Contributeur
    bonjour
    il faut copier cette fonction dans un module
    pour cela
    Alt+F11 t'emmène dans l'éditeur VBA
    insertion-module
    coller

    ensuite insertion -fonction -personnalisées...

    la fonction proposée te laisse le choix du séparateur, du n-nième séparateur et le nombre de caractères à droite que tu désires
    mais si tu as TOUJOURS le sixième @ et les 4 caractères de droite, on peut simplifier la fonction comme ceci

    Function extraire_mot(texto As String) As String
    Dim mot As String
    Dim tablo
        tablo = Split(texto, "@")
        mot = tablo(6)
        If Len(mot) > 4 Then
            mot = Right(mot, 4)
        End If
        extraire_mot = mot
    End Function
    


    texto représente le texte dans la celllule: une fois la fonction demandée, tu cliques dans la cellule
    1. Michel,
      merci beaucoup pour votre aide.

      Cela fonctionne à merveille !

      Bonne fin de semaine
      Cordialement
      John