Bonjour,
Je suis à la recherche d'un fil de référence / solution passe partout pour gérer au mieux les transitions de date/format international vs américain entre VBA et les cellules excel.
Dans mon cas pratique, je demande à l'utilisateur de nommer la "version" d'un fichier qu'il vient de choisir dans une textbox d'une userform. Je laisse un choix libre mais souvent il voudra désigner ces versions par une date. Cette donnée est ensuite promenée entre cellulles excel et array / dictionary VBA.
Quelle recommandation pour essayer de préserver ce qu'a voulu indiquer l'utilisateur ?
L'utilisateur peut être en Europe ou Etats-Unis mais ça n'est pas même pas mon problème actuel.
Application.Range("Vers_SourceM").Value = USF_ImpSce.TextNomM.Value
Je suis en paramètres régionaux FR mais dans la cellule il réinterprète la date en mm/dd/yy. Le 1er Sept devient le 9 Janvier.
J'ai d'abord tenté transformer la valeur du textbox en string via cstr, ou cdate, pour finalement mettre des conditions en partant du peu fiable isdate(). J'arrive à livrer correctement le 1er Sept. Mais dès que je le repompe en array/dictionary, je ne fais que reporter les problèmes en aval parce qu'il réinterprète systématiquement en US.
Faute de mieux, je serais ok pour un compromis et gérer l'information comme du texte pur mais même ça je ne semble pas capable d'y arriver.
Sur ce sujet probablement aussi vieux que VBA (mais impossible à rechercher sur le net tant les termes sont génériques), quelqu'un aurait-il une solution / recommandation générale ?
Je suis à la recherche d'un fil de référence / solution passe partout pour gérer au mieux les transitions de date/format international vs américain entre VBA et les cellules excel.
Dans mon cas pratique, je demande à l'utilisateur de nommer la "version" d'un fichier qu'il vient de choisir dans une textbox d'une userform. Je laisse un choix libre mais souvent il voudra désigner ces versions par une date. Cette donnée est ensuite promenée entre cellulles excel et array / dictionary VBA.
Quelle recommandation pour essayer de préserver ce qu'a voulu indiquer l'utilisateur ?
L'utilisateur peut être en Europe ou Etats-Unis mais ça n'est pas même pas mon problème actuel.
Application.Range("Vers_SourceM").Value = USF_ImpSce.TextNomM.Value
Je suis en paramètres régionaux FR mais dans la cellule il réinterprète la date en mm/dd/yy. Le 1er Sept devient le 9 Janvier.
J'ai d'abord tenté transformer la valeur du textbox en string via cstr, ou cdate, pour finalement mettre des conditions en partant du peu fiable isdate(). J'arrive à livrer correctement le 1er Sept. Mais dès que je le repompe en array/dictionary, je ne fais que reporter les problèmes en aval parce qu'il réinterprète systématiquement en US.
Faute de mieux, je serais ok pour un compromis et gérer l'information comme du texte pur mais même ça je ne semble pas capable d'y arriver.
Sur ce sujet probablement aussi vieux que VBA (mais impossible à rechercher sur le net tant les termes sont génériques), quelqu'un aurait-il une solution / recommandation générale ?