Récupérer une donnée entre deux caractères

  • Initiateur de la discussion Initiateur de la discussion ben01
  • 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 !

B

ben01

Guest
Bonjour tout le monde


Voila mon problème:

Dans une cellule j'ai toutes ces données:

11/01/11 OD 1 8298 Régul. TVA pièce 8298 EUR 12,87 BIi
ou
28/02/11 OD 1 81417 Régul. TVA pièce 81417 EUR GIi 7,62

Je veux récupérer 2 données la date (ça c'est facile avec la formule GAUCHE() ) et le montant compris entre EUR et BIi ou après les 3 lettres (cela correspond a un débit ou un crédit). Je compte utiliser deux formules car ces montants je dois les "ranger" dans la colonne débit ou crédit selon les cas.

Pour ça je voulais utiliser cette formule:
=STXT(A12;CHERCHE("EUR";A12;1)+4;CHERCHE("BIi";A12;1)-CHERCHE("EUR";A12;1)-5)
ça fonctionne mais les 3 lettres (BIi ou GIi dans l'exemple) peut être n'importe quel autre caractère mais toujours 3 lettres.
Je ne sais pas comment on peut faire pour lui faire comprendre que ça peut être n'importe quel lettre de l'alphabet?

Merci d'avance
Ben
 
Re : Récupérer une donnée entre deux caractères

Bonjour, salut les autres,

Si vous me le permettez, ma petite contribution par formules :

A1 : la chaine de caractères
B1 : =STXT(SUBSTITUE(SUBSTITUE(A1;"Bli";"");"Gli ";"");CHERCHE("EUR";A1)+4;10)*1
C1 : =SI(ESTNUM(CHERCHE("Bli";A1));"Bli";"Gli")

Voir l'exemple en pièce jointe.
 

Pièces jointes

Re : Récupérer une donnée entre deux caractères

Bonjour tt le monde

J'ai un problème avec la date!
Quelque fois le jour est inversé avec le mois!
Quelque soit la solution que j'utilise:
Solution de pierrejean( ladate) ou avec Left(cells,8).
vous savez comment je peux contourner le pb?
J'ai mis un fichier avec un échantillon de valeur.

Merci de votre aide
Ben
 

Pièces jointes

Re : Récupérer une donnée entre deux caractères

Bonjour à tous

Pour les dates, tu peux tester cette macro en sélectionnant tes cellules avec les dates qui se recopieront à droite:

Code:
Sub Transforme_dates()
    Dim DateVal As Date
    For Each cell In Selection
        DateVal = Mid(cell, ((InStr(cell, "/")) - 2), 2) & "/" _
                & Mid(cell, ((InStr(cell, "/")) + 1), 2) & "/" _
                & Mid(cell, ((InStr(cell, "/")) + 4), 2)
        cell.Offset(0, 1) = DateVal
    Next
   End Sub
 
Re : Récupérer une donnée entre deux caractères

Merci, c'est parfait!
J'ai utilisé la sol de pierrejean! Un professionnel d'excel j'ai l'impression!
J'ai regardé la solution de MJ13 mais ça me donne pas le résultat escompté.
ex: 03/11/2010 devient 03/11/2020

Pour ma culture, pourquoi en utilisant left(cells(x,x),8) cela inversé le jour et la date? cette fonction ne doit-elle pas recopier les 8 premier caractères?

En tout cas merci beaucoup pour toute cette aide!
Ben
 
Re : Récupérer une donnée entre deux caractères

Re

Ah, j'aime bien le dernier code de Piere-Jean 🙂.

Pour ma culture, pourquoi en utilisant left(cells(x,x),8) cela inversé le jour et la date? cette fonction ne doit-elle pas recopier les 8 premier caractères?

Il s'agit d'un vieux bug d'Excel sur les dates, mais on ne peut jamais vraiment savoir quand il arrive. C'est souvent lors de l'import de données 😕.

Sinon, tu peux tester cette macro:

Code:
Sub Transforme_dates2()
    Dim DateVal As Date
    For Each cell In Selection
        If IsNumeric(Mid(cell, ((InStr(cell, "/")) + 4), 4)) = True Then DateVal = Mid(cell, ((InStr(cell, "/")) - 2), 2) & "/" _
         & Mid(cell, ((InStr(cell, "/")) + 1), 2) & "/" _
         & Mid(cell, ((InStr(cell, "/")) + 4), 4) Else DateVal = Mid(cell, ((InStr(cell, "/")) - 2), 2) & _
         "/" & Mid(cell, ((InStr(cell, "/")) + 1), 2) & _
         "/" & Mid(cell, ((InStr(cell, "/")) + 4), 2)
        cell.Offset(0, 1) = DateVal
    Next
End Sub
 
- 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

M
Réponses
3
Affichages
2 K
M
N
Réponses
6
Affichages
14 K
Retour