Extraire une date d'une chaine de caractères
Résolu
K0rell
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon problème dans la cellule A je veux mettre une date.
Celle-ci est contenu dans la cellule B entre deux chaine de caractère elle a pour format dd/mm/yy
Exemple
ch dd/mm/yy ch
Si vous avez la fonction magique qui permet de faire cela merci ! J'ai regardé du cotée des expressions régulière mes sans grand résultat.
Le meus-te serais aussi de supprimer la date qui est entre les chaine de caractère.
Merci !
Voici mon problème dans la cellule A je veux mettre une date.
Celle-ci est contenu dans la cellule B entre deux chaine de caractère elle a pour format dd/mm/yy
Exemple
ch dd/mm/yy ch
Si vous avez la fonction magique qui permet de faire cela merci ! J'ai regardé du cotée des expressions régulière mes sans grand résultat.
Le meus-te serais aussi de supprimer la date qui est entre les chaine de caractère.
Merci !
A voir également:
- Excel extraire date
- Extraire une video youtube - Guide
- Liste déroulante excel - Guide
- Extraire le son d'une vidéo - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
6 réponses
Bonsoir,
Si la date en B2 comporte bien 8 caracteres (6 chiffres et 2 /) on peut en récuperer la date ainsi :
=DATE(STXT(B2;CHERCHE("/";B2)+4;2);STXT(B2;CHERCHE("/";B2)+1;2);STXT(B2;CHERCHE("/";B2)-2;2))
donne une date en 19.... si les dates sont posterieures à 2000 il faut rajouter + 2000 dans la formule :
=DATE(STXT(B2;CHERCHE("/";B2)+4;2)+2000;STXT(B2;CHERCHE("/";B2)+1;2);STXT(B2;CHERCHE("/";B2)-2;2))
Pour enlever la date du texte :
=GAUCHE(B2;CHERCHE("/";B2)-3)&DROITE(B2;(NBCAR(B2)-(CHERCHE("/";B2)+5)))
Cela convient il ?
Cdlmnt
Si la date en B2 comporte bien 8 caracteres (6 chiffres et 2 /) on peut en récuperer la date ainsi :
=DATE(STXT(B2;CHERCHE("/";B2)+4;2);STXT(B2;CHERCHE("/";B2)+1;2);STXT(B2;CHERCHE("/";B2)-2;2))
donne une date en 19.... si les dates sont posterieures à 2000 il faut rajouter + 2000 dans la formule :
=DATE(STXT(B2;CHERCHE("/";B2)+4;2)+2000;STXT(B2;CHERCHE("/";B2)+1;2);STXT(B2;CHERCHE("/";B2)-2;2))
Pour enlever la date du texte :
=GAUCHE(B2;CHERCHE("/";B2)-3)&DROITE(B2;(NBCAR(B2)-(CHERCHE("/";B2)+5)))
Cela convient il ?
Cdlmnt
s'il n'y a pas de date alors il n'y a pas de / ?
Il suffirait de mettre tester la présence du / avant d'extraire
If InStr(1, Cells(2, 2), "/") >0 then
madate = Mid(Cells(2, 2), InStr(1, Cells(2, 2), "/") - 2, 8)
instruction pour placer la date en A
End if
Il suffirait de mettre tester la présence du / avant d'extraire
If InStr(1, Cells(2, 2), "/") >0 then
madate = Mid(Cells(2, 2), InStr(1, Cells(2, 2), "/") - 2, 8)
instruction pour placer la date en A
End if
La première solution me convient mes peut tu me fournir l'équivalent de ceci en VBA je serais ravis car je comprend pas grand chose a la formule que me sort la macro automatique
=DATE(STXT(B2;CHERCHE("/";B2)+4;2);STXT(B2;CHERCHE("/";B2)+1;2);STXT(B2;CHERCHE("/";B2)-2;2))
Le bute et de remplacer B2 par une variable de type string.
Merci et bon courage.
=DATE(STXT(B2;CHERCHE("/";B2)+4;2);STXT(B2;CHERCHE("/";B2)+1;2);STXT(B2;CHERCHE("/";B2)-2;2))
Le bute et de remplacer B2 par une variable de type string.
Merci et bon courage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si tu veux extraire de B2 la date sous forme de chaine de caractère cette ligne en VBA suffit :
madate = Mid(Cells(2, 2), InStr(1, Cells(2, 2), "/") - 2, 8)
qu'on peut traduire par Extraire(de B2 ,à partir de la position du caractere "/ " moins 2, extraire 8 caracteres)
Tu peux declarer avant madate as String
Cdlmt
madate = Mid(Cells(2, 2), InStr(1, Cells(2, 2), "/") - 2, 8)
qu'on peut traduire par Extraire(de B2 ,à partir de la position du caractere "/ " moins 2, extraire 8 caracteres)
Tu peux declarer avant madate as String
Cdlmt