Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Si, des fois, TEXTE représente une chaine de caractères avec des espaces : ÚTE(SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;4)*1);STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;4);SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;2)*1);2000+STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;2)*1;SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;1)*1);2000+STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;1)*1;"")));SI(ESTNUM(STXT(A1;TROUVE("/";A1)+1;2)*1);STXT(A1;TROUVE("/";A1)+1;2);STXT(A1;TROUVE("/";A1)+1;1));SI(ESTNUM(STXT(A1;TROUVE("/";A1)-2;2)*1);STXT(A1;TROUVE("/";A1)-2;2);STXT(A1;TROUVE("/";A1)-1;1))) Formule non valable pour les années inférieures à 2000 et codées sur moins de 4 chiffres. ou une fonction perso (VBA) :
Function TrouverDate(c) Dim Jour, Mois, An tablo = Split(c, "/") If IsNumeric(Right(tablo(0), 2)) Then Jour = Right(tablo(0), 2) ElseIf IsNumeric(Right(tablo(0), 1)) Then Jour = Right(tablo(0), 1) Else c = "erreur" End If If IsNumeric(tablo(1)) Then Mois = tablo(1) Else c = "erreur" End If If IsNumeric(Left(tablo(2), 4)) Then An = Left(tablo(2), 4) ElseIf IsNumeric(Left(tablo(2), 2)) Then An = Left(tablo(2), 2) ElseIf IsNumeric(Left(tablo(2), 1)) Then An = Left(tablo(2), 1) Else c = "erreur" End If If c <> "erreur" Then c.NumberFormat = "Date" TrouverDate = DateSerial(An, Mois, Jour) End If End Function
Cordialement. Daniel "petit" a écrit dans le message de news:
bonjour a vous tous,
dans la colonne A
j'ai par exemple
TEXTE 01/01/06 TEXTE ou TEXTE 01/2006 TEXTE ou TEXTE 01/06 TEXTE ou TEXTE 1/1/6 TEXTE
je voudrai extraire les dates ou mois et année dans la colonne B
merci de votre aide
claude.
Bonjour.
Si, des fois, TEXTE représente une chaine de caractères avec des espaces :
ÚTE(SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;4)*1);STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;4);SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;2)*1);2000+STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;2)*1;SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;1)*1);2000+STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;1)*1;"")));SI(ESTNUM(STXT(A1;TROUVE("/";A1)+1;2)*1);STXT(A1;TROUVE("/";A1)+1;2);STXT(A1;TROUVE("/";A1)+1;1));SI(ESTNUM(STXT(A1;TROUVE("/";A1)-2;2)*1);STXT(A1;TROUVE("/";A1)-2;2);STXT(A1;TROUVE("/";A1)-1;1)))
Formule non valable pour les années inférieures à 2000 et codées sur moins
de 4 chiffres.
ou une fonction perso (VBA) :
Function TrouverDate(c)
Dim Jour, Mois, An
tablo = Split(c, "/")
If IsNumeric(Right(tablo(0), 2)) Then
Jour = Right(tablo(0), 2)
ElseIf IsNumeric(Right(tablo(0), 1)) Then
Jour = Right(tablo(0), 1)
Else
c = "erreur"
End If
If IsNumeric(tablo(1)) Then
Mois = tablo(1)
Else
c = "erreur"
End If
If IsNumeric(Left(tablo(2), 4)) Then
An = Left(tablo(2), 4)
ElseIf IsNumeric(Left(tablo(2), 2)) Then
An = Left(tablo(2), 2)
ElseIf IsNumeric(Left(tablo(2), 1)) Then
An = Left(tablo(2), 1)
Else
c = "erreur"
End If
If c <> "erreur" Then
c.NumberFormat = "Date"
TrouverDate = DateSerial(An, Mois, Jour)
End If
End Function
Cordialement.
Daniel
"petit" <claude@claude.be> a écrit dans le message de news:
mn.bcab7d75f1893cda.56897@claude.be...
bonjour a vous tous,
dans la colonne A
j'ai par exemple
TEXTE 01/01/06 TEXTE
ou
TEXTE 01/2006 TEXTE
ou
TEXTE 01/06 TEXTE
ou
TEXTE 1/1/6 TEXTE
je voudrai extraire les dates ou mois et année dans la colonne B
Bonjour. Si, des fois, TEXTE représente une chaine de caractères avec des espaces : ÚTE(SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;4)*1);STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;4);SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;2)*1);2000+STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;2)*1;SI(ESTNUM(STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;1)*1);2000+STXT(A1;TROUVE("/";A1;TROUVE("/";A1)+1)+1;1)*1;"")));SI(ESTNUM(STXT(A1;TROUVE("/";A1)+1;2)*1);STXT(A1;TROUVE("/";A1)+1;2);STXT(A1;TROUVE("/";A1)+1;1));SI(ESTNUM(STXT(A1;TROUVE("/";A1)-2;2)*1);STXT(A1;TROUVE("/";A1)-2;2);STXT(A1;TROUVE("/";A1)-1;1))) Formule non valable pour les années inférieures à 2000 et codées sur moins de 4 chiffres. ou une fonction perso (VBA) :
Function TrouverDate(c) Dim Jour, Mois, An tablo = Split(c, "/") If IsNumeric(Right(tablo(0), 2)) Then Jour = Right(tablo(0), 2) ElseIf IsNumeric(Right(tablo(0), 1)) Then Jour = Right(tablo(0), 1) Else c = "erreur" End If If IsNumeric(tablo(1)) Then Mois = tablo(1) Else c = "erreur" End If If IsNumeric(Left(tablo(2), 4)) Then An = Left(tablo(2), 4) ElseIf IsNumeric(Left(tablo(2), 2)) Then An = Left(tablo(2), 2) ElseIf IsNumeric(Left(tablo(2), 1)) Then An = Left(tablo(2), 1) Else c = "erreur" End If If c <> "erreur" Then c.NumberFormat = "Date" TrouverDate = DateSerial(An, Mois, Jour) End If End Function
Cordialement. Daniel "petit" a écrit dans le message de news:
bonjour a vous tous,
dans la colonne A
j'ai par exemple
TEXTE 01/01/06 TEXTE ou TEXTE 01/2006 TEXTE ou TEXTE 01/06 TEXTE ou TEXTE 1/1/6 TEXTE
je voudrai extraire les dates ou mois et année dans la colonne B
merci de votre aide
claude.
petit
Merci super
petit a utilisé son clavier pour écrire :
bonjour a vous tous,
dans la colonne A
j'ai par exemple
TEXTE 01/01/06 TEXTE ou TEXTE 01/2006 TEXTE ou TEXTE 01/06 TEXTE ou TEXTE 1/1/6 TEXTE
je voudrai extraire les dates ou mois et année dans la colonne B
merci de votre aide
claude.
Merci super
petit a utilisé son clavier pour écrire :
bonjour a vous tous,
dans la colonne A
j'ai par exemple
TEXTE 01/01/06 TEXTE
ou
TEXTE 01/2006 TEXTE
ou
TEXTE 01/06 TEXTE
ou
TEXTE 1/1/6 TEXTE
je voudrai extraire les dates ou mois et année dans la colonne B