Récupérer une chaine de caractère sous excel

Mikael_D

XLDnaute Nouveau
Bonjour

je voudrais récupérer les montants das un texte mais je ne peux utiliser la formule =stxt(b2;chiffre;chiffre)

existe il une formule qui compte le nombre d'espace (exemple 4 dans ce cas) puis de prendre la chaine de caractère qui suit

) 949xxxxxxx AMERICAN EXPRESS LIBAMERICAN EXPRESS 493.50 -13.08 LCC) 949xxxxxxx BRUT COM) NDOAMERICAN EXPRESS
) 949xxxxxxx AMERICAN EXPRESS LIBAMERICAN EXPRESS 292.95 -7.76 LCC) 949xxxxxxx BRUT COM) NDOAMERICAN EXPRESS
) 949xxxxxxx AMERICAN EXPRESS LIBAMERICAN EXPRESS 80.00 -2.12 LCC) 949xxxxxxx BRUT COM) NDOAMERICAN EXPRESS

Merci d'avance pour votre aide
Mikael
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Récupérer une chaine de caractère sous excel

Bonjour Mikael_D,

Dans son état actuel, ta question est un peu floue.

Peux-tu préciser, exemple à l'appui, quelle zone de chiffres tu veux extraire ? Et est-ce que les 3 lignes que tu mets en exemple sont dans 3 cellules distinctes ?

L'idéal serait de joindre un fichier de base.

Cordialement.
 

Yaloo

XLDnaute Barbatruc
Re : Récupérer une chaine de caractère sous excel

Bonjour Mikael_D, Papou-net,

Peut être avec le fichier ci-dessous.

A+

Martial
 

Pièces jointes

  • Mikael_D.xlsm
    15.1 KB · Affichages: 36
  • Mikael_D.xlsm
    15.1 KB · Affichages: 38
  • Mikael_D.xlsm
    15.1 KB · Affichages: 41

Yaloo

XLDnaute Barbatruc
Re : Récupérer une chaine de caractère sous excel

Re,

Avec la transformation en chiffre et non texte. C'est mieux pour les calculs futurs.

A Papou-net : mon fichier fonctionne chez toi ?


A+
 

Pièces jointes

  • Mikael_D V1.1.xlsm
    16.2 KB · Affichages: 35

Papou-net

XLDnaute Barbatruc
Re : Récupérer une chaine de caractère sous excel

Merci à vous 2

désolé je suis une quiche, je m'attendais à une formule excel simple et pas à une macro
je vais essayer, maintenant

RE

Mais non tu n'es pas une "quiche" !

C'est bien une macro que l'on t'a proposée, car il n'y a pas de formule native dans Excel pour réaliser ce besoin. Mais si tu y regardes de plus près les cellules B1:B3, une fonction se comporte comme une formule : =montant(B1). Une fois la fonction créée, tu peux l'appliquer dans n'importe quelle cellule, sans autre forme que d'y intégrer la référence de la cellule à examiner.

En fait, les formules Excel sont des fonctions créées par les concepteurs mais qui restent transparentes pour l'utilisateur.

Cordialement.

Edit : j'ai oublié de préciser que j'ai mis la colonne B au format nombre avec deux décimales pour obtenir un affichage correct.
 
Dernière édition:

Mikael_D

XLDnaute Nouveau
Re : Récupérer une chaine de caractère sous excel

Manifiqueeeeeeeeeeeeeeeeeeeeeeeeeeeee

Merci ça fonctionne super BIEN maintenant, je veins d'apprendre un truc aujourd'hui (ROYALE)

Encore un petit truc, je viens de copier coller la macro mais pour certaines lignes je n'ai pas de valeur à récuperer et je voudrais que la cellule soif vide or il me mets #VALEUR!

Public Function Montant(cel)
Dim deb, fin
deb = InStr(cel, "LIBAMERICAN") + 20
fin = InStr(cel, ".") + 3
Montant = CDbl(Mid(Replace(cel.Value, ".", ","), deb, fin - deb))

End Function

Public Function Montant2(cel)
Dim deb, fin
deb = InStr(cel, "-")
fin = InStr(cel, "LCC") - 6
Montant2 = CDbl(Mid(Replace(cel.Value, ".", ","), deb, fin - deb))
End Function
 

Papou-net

XLDnaute Barbatruc
Re : Récupérer une chaine de caractère sous excel

RE Mikael,

Il suffit d'ajouter une condition de test de valeur dans les formules de la colonne C (voir copie ci-jointe). Dans cet exemple, j'ai supprimé le montant de 2.12 dans la ligne 3.

Pour mémoire, tu as fait des erreurs dans le calcul de deb et fin dans la fonction Montant2.

Cordialement.
 

Pièces jointes

  • Exemple 01 Mikael_D.xlsm
    15.6 KB · Affichages: 38

Statistiques des forums

Discussions
312 294
Messages
2 086 924
Membres
103 404
dernier inscrit
sultan87