comment transférer une date au format texte (transfert s'effectuant par array)

cathodique

XLDnaute Barbatruc
Bonjour la communauté,

Il y a quelques jours Efgé (que je salue et remercie) m'a aidé à archiver des données d'une feuille de "saisie" vers une BD en utilisant les tableaux. Je voudrais transférer une date au format "texte". J'ai utilisé la fonction texte dans une cellule et j'ai fait référence à cette cellule pour le transfert, mais le résultat est toujours une date.
voici la formule que j'ai utilisé en E2: =SI(E1="";"";TEXTE(E1;"mmm aaa"))
ceci est le bout de code de transfert de la date par tableau:
Code:
T_Report(i, 3) = T_EnTete(2, 5)        'Date

J'ai sélectionné toute la colonne de destination (BD), choisi comme format de cellules personnalisé "mmm aaaa", mais après transfert ça ne donne rien (toujours format date).

Comment faire? Je vous remercie beaucoup.

Cordialement,
 

cathodique

XLDnaute Barbatruc
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Salut Pierrot93,

Excuses pour le retard, j'ai bossé. J'archive les données de ma feuille de saisie, sur une autre feuille "BD" en utilisant des tableaux (array). je voudrais que la date soit archivée au format texte. je te remercie pour ton conseil mais comme tout débutant, mais connaissance du vba sont rudimentaires.

Merci. je continue mes recherches sur le forum.

Cordialement,
 

poulpor78

XLDnaute Junior
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Bonjour,

Quand on prend la discussion, ce n'est pas extrêmement clair en effet.

Sans tout comprendre, je vois deux pistes :

1/ Dans ta formule en E2, essaie : =SI(E1="";"";"'" & TEXTE(E1;"mmm aaa")) mettre un ' devant la date afin d'obliger excel à la prendre en texte

2/ En VBA, je ne me souviens plus trop des array que je n'utilise quasiment jamais mais peut-être : ton array est-il de type date ? si oui, il vaut mieux le mettre en string.

En espérant t'avoir fait avancer,

Poulpor
 

cathodique

XLDnaute Barbatruc
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Bonjour Poulpor,

Je te remercie beaucoup pour ta réponse. Moi aussi, je ne maitrise pas beaucoup les "Array". Auparavant, j'utilisais des boucles sur les lignes et je t'assure que mon archivage prenait beaucoup de temps, avec les Array c'est beaucoup plus rapide.
L'array est déclaré en temps que variant. J'essaie ta proposition ce soir et te mettrai au courant (je travaille aujourd'hui).
ce n'est pas extrêmement clair en effet
Comme tu es le deuxième, je conclus que mes explications ne sont pas claires. Je reviendrai ce soir, tenter d'expliquer aussi clairement que possible, déjà pourquoi je veux convertir une date en texte.

Merci.

Cordialement,
 

Efgé

XLDnaute Barbatruc
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Bonjour cathodique, poulpor78, Bonjour Pierrot :)

Sans exemple, une proposition:
Je pars du principe que la valeur de T_EnTete(2, 5) est une date de type 01/08/2013 et que l'on doit retrouver en fin de traitement Août 13:
VB:
T_Report(i, 3) = CStr(Format(T_EnTete(2, 5), "mmmm yy"))
Cordialement

EDIT
Mais je ne vois pas l’intérêt de rentrer une date en texte dans une base de données. Tu vas t’interdire certaines possibilités liées aux dates...
Il serait plus intéressant, si c'est une question de présentation, de garder les dates et de mettre la colonne de la base au format voulu.
A toi de voir
 
Dernière édition:

cathodique

XLDnaute Barbatruc
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Bonjour à tous,

Nous utilisons ce fichier depuis 2005. Il a été conçu par l'un de mes collègues et nous sert à archiver des mesures mesures électriques et météo de divers sites périodiquement.
Par l'entremise d'une userform, on saisit la date dans une textbox et sélectionnant d'autres données par combobox. date et données sont transférées l’entête d'un tableau sur une feuille (nommée "saisie cmdp"). après quoi, par rapport à l’entête, le tableau se complète par macro, affichant les cordonnées des points où sont effectuées les mesures. ensuite nous saisissons nos données, archivons ces données sur une autre feuille ("Archive_cmdp") et sauvegardons cette feuille au format pdf à transmettre par émail. Le nom de cette sauvegarde porte comme nom, la concaténation de "Archivage_cmdp&Date". Comme le "/" n'est pas accepté d'où la conversion de la date en texte.

Une autre feuille a été dédiée pour la consultation de l'archive, fonctionnant avec pratiquement le même topo, sélection par combobox des références transmises à l’entête d'un tableau, qui se rempli par rapport aux références. Pour ceci notre collègue avait trouvé des difficultés pour récupérer les données archivées par rapport à la date. En fait, sur la feuille "Archive_cmdp", en colonne "X" il concatène 4 cellules, contenant les références dont la date (les références se retrouvent dans des colonnes pour chaque ligne).

N'étant pas très fort en VBA, je n'ai pas voulu trop m'aventurer dans la modification du code de mon collègue. C'est pour cela que je voudrais convertir le contenu d'une cellule du format date en format texte par macro.

Je vous remercie beaucoup.

Cordailement,
 

cathodique

XLDnaute Barbatruc
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Bonjour Efgé,

C'est exactement ce que je recherchais. Merci beaucoup.
Ne prenez pas en considération mon précédent message. J'ai cette manie de restaurer la précédent session de Firefox sans actualiser et du coup je n'ai pas la dernière réponse, toutes mes excuses.
La conversion, c'est surtout pour enregistrer le fichier au format PDF (concaténation de "archive_cmdp" et Date).
En fait, c'est le slach ("/") qui pose problème pour la sauvegarde du fichier en PDF.

Encore merci. Bonne journée!

Cordialement,
 

ChTi160

XLDnaute Barbatruc
Re : comment transférer une date au format texte (transfert s'effectuant par array)

Bonjour cathodique
Bonjour le fil
Bonjour le Forum

je ne comprends pas tout ,mais pourquoi ne pas , si ce sont les "/" qui posent problème, les avoir remplacé par des Tirets
Ex : 07/05/2013 en 07_05_2013 ou 07-05-2013
via
"Fichier du : " & Replace(Date, "/", "_")
je ne sais pas si j'ai bien compris Lol
puis ton problème est résolu .

Bonne Journée
Amicalement
Jean Marie
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa