Problème lors de l'ouverture des fichiers [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 27-10-2010 à 16:26:21
Excel se base sur les options régionales de ... Windows (et non pas sur des options régionales qui seraient valable seulement pour Excel ou seulement pour un classeur Excel (sauf si ça a changé depuis les vieilles versions d'Excel que j'ai).
Donc il y a plusieurs solutions :
- Soit changer les options de Windows, afin que le point décimal soit une virgule ou l'inverse, que la date soit dans le bon format.
- Soit changer le fichier en entrée.
- Soit faire le chargement en utilisant un modèle défini dans Excel lors de l'importation, et qui est adapté à ses besoins. C'est un peu caché, et pas très facile d'utilisation, mais si on fait toujours la même importation (toujours exactement les mêmes champs), cela peut valoir le coup d'étudier ça.
Marsh Posté le 27-10-2010 à 17:00:51
Normalement ca devrait se resoudre comme ceci :
workbooks.open FileName:="T:\SECRE_OCT\TOCATTA\LB111-labresult\Septembre 2010\1.9.2010.Kr85Sol1Min.xls", Local:=True
Et enleve moi ces parentheses !!
Marsh Posté le 28-10-2010 à 09:44:59
Héhé ça marche! Merci bien dje69r. Merci à olivthil aussi, mais j'ai pas essayé ce que tu m'a dit, ça me semblait plus compliquer, et surtout je serais pas le seul à l'utiliser.
(moi je trouve ça joli avec les parenthèses).
Marsh Posté le 28-10-2010 à 09:52:30
Joli peut etre
Mais beaucoup moins lisible quand tu auras des centaines (milliers ?) de ligne... Là au moins, tu sais quelle valeur est affectée a quel argument, et ce en 1/2 seconde
De plus, a partir de deux arguments, tu es obligé d'affecter a une variable.
Tu es aussi obligé de définir tous les arguments qui sont entre ceux que tu définis... Ca fait un paquet de virgule pour des arguments non définis
Donc ca :
A=workbooks.Open ("T:\SECRE_OCT\TOCATTA\LB111-labresult\Septembre 2010\1.9.2010.Kr85Sol1Min.xls",,,,,,,,,,,,,true)
C'est quand meme moins pratique a saisir, et surtout moins lisible a relire en cas de souci ou juste de relecture, que ca :
workbooks.open FileName:="T:\SECRE_OCT\TOCATTA\LB111-labresult\Septembre 2010\1.9.2010.Kr85Sol1Min.xls", Local:=True
Marsh Posté le 03-11-2010 à 18:11:16
SuppotDeSaTante a écrit : Joli peut etre |
de mémoire, passer les paramètres de manière nommé, est indépendant de l'utilisation des parenthèses.
en gros tu peux avoir les deux., l'un ou l'autre ou aucun des deux...
|
donc pour te rejoindre : oui c'est plus propre de fonctionner en arguments nommés, mais les parenthèse n'ont rien à voir
Marsh Posté le 04-11-2010 à 10:02:53
Mouai... utiliser un Call pour un Workbooks.open... Ou affecter a une variable pour ca...
Désolé mais l'utilisation des parenthèses en VBA, ca ne sert a rien si ce n'est alourdir.
Et je ne parlais pas que du fait de nommer, mais bien aussi du Call et/ou affectation en variable.
Si j'ai omis de lui preciser la syntaxe parentheses + arguments nommés, ce n'est pas pour rien
Topic clos pour ma part
Marsh Posté le 27-10-2010 à 15:41:50
Bonjour,
Débutant sous VBA, je suis en train de réaliser un programme afin d'ouvrir un fichier excel, puis de rappatrier les donénes dans un deuxième fichier.
Deux problème ont lieu:
-Le premier c'est les nombres qui sont ouvert en format texte. A la limite celui là j'ai trouvé comment remodifier par la suite.
-Le second c'est les dates. Les jours et les mois sont inversés.
Chose étrange, c'est que quand j'ouvre moi-même le fichier, il s'ouvre correctement.
Voici l'extrait de mon programme:
Workbooks.Open ("T:\SECRE_OCT\TOCATTA\LB111-labresult\Septembre 2010\1.9.2010.Kr85Sol1Min.xls" )