convertir du texte en une date

matsam

XLDnaute Nouveau
Bonjour,
Je dois, à partir d'une colonne de dates et heures, extraire la date pour obtenir la ligne correspondant aux premier et dernier jour d'un mois qui doivent me permettre de lancer une boucle.
J'ai vu une discussion similaire mais mes colonnes date/heure sont remplies ainsi :"30.06.2010 11:30". Il me faut donc une procédure permettant de déterminer sur quelle ligne se trouve le premier jour à 00h00 et le dernier à 00h00. Y a t'il un format date qui reconnait automatiquement le jour, heure mois et année ou faut il tester les dates pour en obtenir une de la forme 01.aa.bbbb 00.00?
Merci de votre réponse.
Bonne journée.
Matthieu
 

Tibo

XLDnaute Barbatruc
Re : convertir du texte en une date

Bonjour matsam et bienvenue sur XLD,

en ayant une chaîne de caractères telle que celle que tu décris (en A1 par exemple), la formule suivante permet de la transformer en date-heure reconnue par Excel :

en B1 :

Code:
=SUBSTITUE(A1;".";"/")*1

à mettre au format :

jj/mm/aa hh:mm

Je te laisse essayer

Ensuite, pour aller plus loin par rapport à ta question, il nous faudrait un extrait de ton fichier (pas de données confidentielles, taille fichier limitée à 48.8 ko, donc ne pas hésiter à zipper)

@+
 

matsam

XLDnaute Nouveau
Re : convertir du texte en une date

Merci beaucoup pour la réponse j'ai en effet pu convertir dans le bon format date et heure ( sans rajouter de *1 à la fin du code ).
Je vous envoie un extrait de mon tableau, le but final étant d'avoir une interface permettant d'avoir un historique par année et par mois regroupant des graphiques de données météo. Il me faut donc pouvoir distinguer le mois et pouvoir lancer une boucle(pour la création du graphique) par mois en sachant sur quel mois et quelle année on travaille.
Finalement, à partir de la date dans le bon format, comment peut on stocker le mois, l'année et la ligne correspondante dans des variables?
Merci.
 

Pièces jointes

  • tableau.GIF
    tableau.GIF
    7.1 KB · Affichages: 102
  • tableau.GIF
    tableau.GIF
    7.1 KB · Affichages: 115
  • tableau.GIF
    tableau.GIF
    7.1 KB · Affichages: 113

Tibo

XLDnaute Barbatruc
Re : convertir du texte en une date

re,

Nous sommes sur un Forum Excel, il est donc préférable de joindre un "vrai" fichier Excel.

Car une image ne nous permet pas vraiment de nous rendre compte de ce contient ton fichier.

A te (re)lire avec un extrait de ton fichier

@+
 

Tibo

XLDnaute Barbatruc
Re : convertir du texte en une date

re,

si tu parles de variable, c'est que tu envisages le traitement par macro ?

Si oui, je ne vais pas savoir t'aider.

Sinon, sur la base de ton fichier, quelles sont les valeurs que tu souhaites extraire ?

@+
 

matsam

XLDnaute Nouveau
Re : convertir du texte en une date

re,
oui en effet j'utilise des macros pour traiter les variables et obtenir une interface propre et utilisable par quelqu'un d'autre sans avoir à y toucher.

Concernant le fichier, j'ai besoin de créer différents graphiques ( pluviométrie, température et vent+direction du vent) par mois. Je dois donc extraire le mois et l'année pour l'interface et les lignes de début et fin du mois pour avoir la plage de données à exploiter dans les différents graphiques. J'ai vu que la fonction EQUIV peut peut-etre résoudre mon problème. Serait il possible de l'utiliser pour obtenir la ligne dont j'ai besoin?
Merci
 

matsam

XLDnaute Nouveau
Re : convertir du texte en une date

Quelqu'un d'autre pourrait-il m'aider à résoudre mon problème?

J'ai essayé en utilisant la fonction suivante :
=EQUIV("01.07.2010 00:00";B:B;0)
pour obtenir la ligne désirée.
Quand je tape cette fonction dans une feuile de calcul la fonction me renvoie la bonne ligne. Cependant dès que j'inclus celle-la à dans une macro, elle ne fonctionne plus et le logiciel me renvoie l'erreur : "attendu : séparateur de liste ou ) ". D'ou vient ce problème et comment dois-je faire?

Par ailleurs comment est ce que je peux à partir d'une date au format excel extraire le mois et l'année?

Merci
 

JCGL

XLDnaute Barbatruc
Re : convertir du texte en une date

Bonjour à tous,

Avec les fonctions ANNEE() et MOIS().

Dépose ton code pour la partie macro.

A+ à tous
 

Pièces jointes

  • JC Classeur2.xls
    16.5 KB · Affichages: 102
  • JC Classeur2.xls
    16.5 KB · Affichages: 110
  • JC Classeur2.xls
    16.5 KB · Affichages: 110
Dernière édition:

matsam

XLDnaute Nouveau
Re : convertir du texte en une date

Rebonjour,

Merci pour les fonctions. Je voulais cependant savoir comment je peux utiliser la fonction SUBSTITUE sur une colonne entière. Je voulais utiliser une boucle For i = 2 to ... mais je ne sais pas comment déterminer la ligne de la dernière case remplie de mon tableau(le tableau est amené a s'agrandir et je dois savoir ou finit la boucle).

J'ai aussi un problème pour insérer mes variables dans ma fonction. Je souhaite utiliser la fonction equiv mais il me faut l'utiliser ainsi :
EQUIV("01/mois/année 00:00";B:B;0) ou mois et année sont des variables susceptibles de changer. Comment est il possible de les utiliser à l'interieur meme du texte recherché?

Merci.
 

matsam

XLDnaute Nouveau
Re : convertir du texte en une date

J'essaye d'utiliser la fonction suivante :

Selection.AutoFill Destination:=Range("C2:C5"), Type:=xlFillDefault

mais est il possible d'appliquer celle ci a partir de la cellule 2 jusqu'a la fin de la colonne ( jusqu'a ce qu'il y ait du texte ou "à l'infini")?
Merci
 
G

Guest

Guest
Re : convertir du texte en une date

Bonjour matsam
Tibo:)
JC:)

@MatSam excel sait très bien faire ce genre de choses très vite par un chercher/Remplacer sur toute la colonne après l'avoir sélectionnée. Et s'il te le faut en macro, utilise l'enregistreur.

l'enregistreur de macro donne ceci:

Code:
Columns("B:B").Select
    Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Cela ira toujours plus vite qu'une boucle.

A+
A++JC,Tibo
 

Pingouin53

XLDnaute Nouveau
Re : convertir du texte en une date

Bonjour,
je n'ai peut-être pas bien compris la demande et de quoi il s'agissait...
personnellement, quand j'ai une date en texte, je passe par CNUM(), il me suffit d'avoir le bon format pour que cela apparaisse sous la forme désirée.
 

Statistiques des forums

Discussions
312 444
Messages
2 088 482
Membres
103 867
dernier inscrit
nykostinson