Extraction de nombres dans un texte

Ellana B. -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, je suis stagiaire dans un service de comptabilité et je travaille sur des tableaux excel.
J'aimerai pouvoir extraire des nombres situés à l'extrême droite de mes textes, le problème étant que le nombre de caractère est m'est encore inconnu (je prépare des tableaux vierges).
Existe-t-il une fonction similaire à =DROITE(texte;no_car) mais avec condition?
merci pour toute aide donnée!
Configuration: Windows 2000 Internet Explorer 6.0

6 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Les conditions c'est à toi de les calculer par formule...
    Ca pourrait être à partir d'une chaine ou d'un caractère précis ou...
    Il faudrait que tu donne des exemples de ce que tu veux.
    eric
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,
    A mon avis, c'est à ton maître de stage de te lire:
    nombre de chiffres à la droite (de combien à combien)
    il ya t il d'autres chiffres dans le texte: à gauche, au milieu...

    sinon ce sera une usine à gaz peu fiable
    Dans l'attente
    0
  3. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    Salut

    je fais vite

    Tu peux imbriquer des fonctions du style
    tu peux connaître le nombre des caractères de ta cellule NBCAR
    la position où se trouve le 1er caractère du texte recherché
    et tu soustrais la longueur du texte -1

    444BNP8511 DROITE(A1;NBCAR(A1)-CHERCHE("BNP";A1;1)-2)

    Tout dépend la forme du texte ou des textes de ta cellule

    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    re, bonjour xlchristi

    cette fonction personnalisée t'extrait les N chiffres à la fin de tes textes (si c'est une lettre tu as "")

    Function dernierschiffres(texto As String) As String
    Dim longueur As Long, result As String
    Dim chifr
    
    longueur = Len(texto)
    For longueur = Len(texto) To 1 Step -1
        chifr = Mid(texto, longueur, 1)
        On Error Resume Next
            chifr = CInt(chifr)
        If Err.Number > 0 Then
                 dernierschiffres = result
             Exit Function
    End If
    result = chifr & result
    Next
    dernierschiffres = result
    End Function


    si tu as 23ABVDR5X234 la fonction te renvoie 234
    0
    1. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
       
      Salut Michel _m

      C'est toujours mieux avec une macro qui traite tous les cas de figure
      c'est là qu'on voit les "pro" BRAVO (sourire)
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour tout le monde,

    Et une autre solution par formule :
    =STXT(A1;MAX((STXT(A1;LIGNE(1:30);1)>"9")*LIGNE(1:30))+1;30)
    formule matricielle à valider par shift+ctrl+entrée
    Le nombre après la dernière lettre est extrait.

    Pour ne pas alourdir j'ai considéré qu'il n'y avait que des lettres en plus des chiffres.
    Les ! " # $ % & ' ( ) * + , - . / sont considérés comme des chiffres...
    Mais il peut y avoir des : ; < = > ? @ et des [ \ ] ^ _ ` :-)

    eric
    0
  7. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    En passant tres vite
    salut Eriic , pas encore en vacances ?
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      et bé non
      J'ai pris un tit bout en juin et maintenant il faut attendre septembre :-s
      Et toi, c'est pour bientôt la bronzette ? :-)
      0