[RESOLU] - VBA - intégration de date selon texte

FlorianN

XLDnaute Junior
Bonsoir le fofo,

Je me pose une question toute simple (mais qui me semble très compliquée).
En effet, j'ai une macro qui fait son travail et qui le fait bien (merci à JCGL et NONO).

Dans le fichier de base, j'ai du texte qui indique le nom du mois en toute lettre.
Or je souhaite que notre bon vieux tableur puisse, en se basant sur le nom du mois, intégrer une date dans une cellule.
Vous allez me dire : "Il est pas un peu fou ?! ". Et vous aurez raison.

Cette "manœuvre" est contournable en faisant une saisie manuelle.
Si cela est possible, ce n'est que du bonus pour la macro.

Voici le détail :
A1 : le nom du mois au format texte "TEST - Janvier 2015"
B45 : intégration via VB de la date du premier jour du mois qui correspond au mois en A1

Est-ce possible ?
 
Dernière édition:

FlorianN

XLDnaute Junior
Re : VBA - intégration de date selon texte

Bonsoir Victor21,

J'ai un beau #VALEUR! malgrè le format date.
Je ne connait pas cette fonction et donc j'ai du mal à la comprendre.

MODIF
J'ai trouvé une solution qui affiche une date : =SUBSTITUE(A1;A1;1)*1
Mais, cela donne 01/01/1900
 
Dernière édition:

FlorianN

XLDnaute Junior
Re : VBA - intégration de date selon texte

Alors là.... Je dis... B-R-A-V-OOOO JCGL.

Cette manipulation en VB est un vrai bonus qui vient clôturer une journée magnifique.
Adoptée et mise en œuvre (avec dans le code en commentaire le contributeur : ben voui, il faut rendre à César ce qui est à César).
 

Victor21

XLDnaute Barbatruc
Re : VBA - intégration de date selon texte

Re, FlorianN, JC

=SUBSTITUE(A1;"TEST - ";1) remplace le début de votre chaine (soit "Test-1 " sans les guillemets) par le caractère 1

Vous obtenez alors du texte : "1 Janvier 2015" qui, multiplié par 1 le transforme en nombre qu'il ne reste qu'à afficher au format date.

Bonsoir Victor21,

J'ai un beau #VALEUR! malgrè le format date.
Je ne connait pas cette fonction et donc j'ai du mal à la comprendre.

MODIF
J'ai trouvé une solution qui affiche une date : =SUBSTITUE(A1;A1;1)*1
Mais, cela donne 01/01/1900
 

Statistiques des forums

Discussions
312 338
Messages
2 087 398
Membres
103 537
dernier inscrit
alisafred974