Extraction de date dans un texte

gant1801

XLDnaute Junior
Bonjour à tous,

J'ai un fichier excel intitulé "Base d'analyse IEC 30-11-12 CUN 2010.xls" duquel j'ai besoin d'extraire uniquement la date "30-11-12" par macro.
Auriez vous une solution pour moi?
Merci de votre aide,
Gant
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraction de date dans un texte

Bonjour,

Code:
Function Dte(chaine)
  p = 1
  Do While p <= Len(chaine) - 8 And Dte = ""
    If Mid(chaine, p, 8) Like "##-##-##" Then Dte = Mid(chaine, p, 8) Else p = p + 1
  Loop
End Function

ou

Code:
Function Dte1(chaine)
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "\d{2}[-/ ]\d{2}[-/ ]\d{2}"
  Set a = obj.Execute(chaine)
  If a.Count > 0 Then Dte1 = a(0) Else Dte1 = ""
End Function

JB
 

Pièces jointes

  • FonctionExtraitDate.xls
    24 KB · Affichages: 25
Dernière édition:

job75

XLDnaute Barbatruc
Re : Extraction de date dans un texte

Bonsoir gant1801, salut JB,

Une solution par formule (matricielle) mais dans le nom défini DateFichier :

Code:
=STXT(SUBSTITUE(CELLULE("filename");" ";);EQUIV(VRAI;ESTNUM(-STXT(SUBSTITUE(CELLULE("filename");" ";);LIGNE(INDIRECT("1:9999"));8));0);8)
SUBSTITUE supprime les espaces car il peut y en avoir de superflus...

Fichier joint.

Edit : hum, pas terrible, il faut revalider la formule à l'ouverture !!!
A+
 

Pièces jointes

  • Base d'analyse IEC 30-11-12 CUN 2010.xls
    24.5 KB · Affichages: 32
Dernière édition:

job75

XLDnaute Barbatruc
Re : Extraction de date dans un texte

Re,

Donc, pour le cas où le nom du fichier est modifié, la formule ne suffit pas, il faut du VBA.

Dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
Feuil1.[B3] = "=DateFichier"
Me.Saved = True
End Sub
Fichier (1).

A+
 

Pièces jointes

  • Base d'analyse IEC 30-11-12 CUN 2010(1).xls
    33 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Extraction de date dans un texte

Bonjour le fil, le forum,

J'avais construit le fichier du post #3 sur Excel 2010 : la revalidation était nécessaire à l'ouverture.

Je viens de le tester sur Excel 2003 : la revalidation n'est pas nécessaire :confused:

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 170
Membres
103 151
dernier inscrit
nassim