Excel et VBA - Encore un probleme de date

Résolu
cs_kakay Messages postés 2 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 21 septembre 2006 - 20 sept. 2006 à 11:48
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 21 sept. 2006 à 08:08
    Bonjour
Voilà mon probème :
J'aimerais pouvoir récupérer en clair une date pour pouvoir la coller aevc le texte d'une aute cellule.
Si je fais cette opération - exemple
A1="resultat au " , A2="01  Janvier 2006"
A3=A1&A2
J'obtiens A3= "Résultats au (Date en format N° de série)" (Résultats au 12345)
J'ai exploré a peu près toutes les soltions de copier, formats de dates, texte... et j'en reviens toujours au meme résultat...
Je suis obligé de faire lier les 2 cellules pour un problème de centrage de texte en tet de tableau...

Alors, si quequ'un peut m'aiguiller... Merci
Cette opération est le point final d'u traitement assez long en VBA, donc, je cherche surtout une solution en code VBA...

4 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
20 sept. 2006 à 12:10
En code VBA, pour avoir la date avec le nom du mois complet (du style 01 janvier 2001 par ex), ça te donnerait quelque chose comme :

Range("A1").Value & Format(Range("B1").Value, "dd mmmm yyyy")

Molenn
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 22
21 sept. 2006 à 00:28
Pour le format affiché, tu n'as qu'à modifier au besoin en jouant avec le nombre de j, m ou a
=A1&TEXTE(A2;"jj mmmm aaaa")

MPi
0
cs_kakay Messages postés 2 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 21 septembre 2006
21 sept. 2006 à 00:42
    Bonjour..
Merci MOLEEN...
J'ai du legerement modifier... Mais ça marche...

je suis passé par une cellule intermédiaire et hop..

Voici le code final..
Range("A6").Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("A3:B3").Select
    ActiveCell.FormulaR1C1 = "Résultats au " & Format(Range("A6").Value, "dd mmmm yyyy")

Merci a ceux qui ont répondu..
Pour MPi, désolé, j'ai pas testé... La solution de MOLEEN a été testée avec succès juste avant, mais merci de ta contribution tout de même.
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
21 sept. 2006 à 08:08
Il y a juste quelque chose que je n'arrive pas à comprendre :
Tu préférais du code VBA, ce que je t'ai donné tandis que MPi te donne la formule Excel qui va bien.
Et toi, ta macro, ce qu'elle fait, c'est avec du code VBA, positionner des formules dans Excel ^^
Je trouve plus simple de faire du VBA en VBA et des formules Excel dans le tableur

Ah oui, ton code final, pour le faire en VBA, ça donne :
(je suppose que ton range("A3:B3"), c'est parce que tu as fusionné les 2 cellules ?)

Range("A3:B3").value = "Résultats au " & Format(Now(), "dd mmmm yyyy")

Pour ce que tu fais, tu as plus vite fait d'aller mettre directement dans ta cellule A6 la formule "=AUJOURDHUI()" et donc, de mettre dans la cellule A3:B3 la formule "=A1 & TEXTE(A6;"jj mmmm aaaa")" en considérant bien entendu qu'en A1, tua s écrit "Résultats au "

Tu as même encore plus court ! Une seule formule à mettre dans ta cellule A3:B3 :
"="Résultats au " & TEXTE(AUJOURDHUI();"jj mmmm aaaa")"

Molenn (avec un seul E et deux N )
0
Rejoignez-nous