extraction de chiffe dans une chaine de caractéres

  • Initiateur de la discussion Initiateur de la discussion sof95141
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sof95141

Guest
bonjour forum,

étant un novice sur l'application d'excel j'aurais besoin des lumieres de personne plus experte que moi.
Voila j'essaye d'extraire d'une chaine de caracteres le premier nombre apres la chaien de lettres mais que les premiers car si le nombre est 0.00 apres les lettre je ne dois pas les prendres.

EX:SIA CHAMPAGNE-ARDENNE 4602.51 0.00 381478
je devrai extraire dans une autre celulle 4602.51

SIAP MARSEILLE LITTORAL 0.00 0.00 382129
la je ne dois rien extraire

pour l'instant je sais manuelement car je vous l'avoue je ne pas koi utiliser formule ou macro

donc si l'un d'entre vous pourrai m'aider ca serai prodigieux.
merci d'avance .¨

P.S : je joins un exemple de mon fichier [file name=pool.zip size=2991]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pool.zip[/file]
 

Pièces jointes

Salut,

Voici une formule que tu pourais essayer :

={(STXT(A1;EQUIV(0;(ESTERREUR(STXT(A1;LIGNE(INDIRECT('1:'&NBCAR(A1)));1)*1)*1);0);NBCAR(A1)+1-SOMME((ESTERREUR(STXT(A1;LIGNE(INDIRECT('1:'&NBCAR(A1)));1)*1)*1))))*1}

Cette formule n'admet pas d'espaces dans le nombre.
Il faut d'abord supprimer les esapces et les points par le fonction SUBSTITUE, puis du résultat extraire la partie qui t'intéresse.Il est trop tard pour te faire un exemple, mais si tu n'es pas dépanné, demain en cours de matinée.

Bonne soirée.
Â+
 
Bonsoir sof95141, andré,

Une proposition par macro VBA (voir exemple ci-joint) :
Sub Traitement()
Dim Chaine As String
Dim
L As Long
      With Sheets('Feuil1')
            For L = 3 To .Range('D65536').End(xlUp).Row
                  Chaine = .Cells(L, 4).Text
                  Chaine = Mid(Chaine, InStrRev(Chaine, ' ', InStrRev(Chaine, ' 0.00 ') - 1) + 1)
                  .Cells(L, 5).Value = IIf(Val(Chaine) > 0, Val(Chaine), '')
            Next L
      End With
End Sub
Bonnes fêtes de fin d'année. [file name=PourSof95141.zip size=10887]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourSof95141.zip[/file]
 

Pièces jointes

Bonsoir,

Merci a vous deux, je vous promet que votre aide à été benefique. à present j'utilise la macro vba de mdf pour un usage plus intuitive .

Je dois appliquer cette macro a d'autres feuilles ce qui me permettera de gagner du temps .

<merci encore et bravo

Cdlt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour