Extraire une date d'une chaine de caractères
Résolu
K0rell
Messages postés
5
Statut
Membre
-
via55 Messages postés 14391 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14391 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 !
6 réponses
-
Impeccable merci beaucoup !
Bonne journée et bon courage à tous. -
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 -
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 -
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. -
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 -
ca marche impec sauf que dans certaine chaine de caractère il n'y a pas de date est ca plante. donc si tu pouvais adapter ca serais cool je continu a chercher merci c'est déjà supère ce que tu a fait.