Ouverture fichier xls - VBA

Fermé
malleinj Messages postés 9 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 17 juillet 2015 - 16 juil. 2015 à 17:37
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 17 juil. 2015 à 11:29
Bonjour,

J'ai crée un macro qui me permet d'ouvrir des fichiers xls enregistrés d'SAP.

1 ) Si j'ouvre le fichier manuellement, j'ai le message : le format du fichier que vous tentez d'ouvrir est différent de celui spécifié par l'extension"
Je choisis oui à la question et le fichier s'ouvre correctement

2 ) Par contre, si j'ouvre le fichier ma macro, les points sont remplacés par des virgules et les 0 après la virgule disparaissent.

Ex avec 1) : 1.040
Ex avec 2) :1,04

Du coup, toutes mes données sont fausses avec le code VBA.

Etant donné que j'ai 40 fichiers à ouvrir, modifier et refermer, je souhaiterais pouvoir utiliser ma macro plutôt que de tout ouvrir à la main.

Merci de votre aide.

Julien

A voir également:

3 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
16 juil. 2015 à 21:09
Bonjour,

Le message fait penser que tes fichiers ne sont pas des fichiers Excel mais plutôt des fichiers texte (txt ou csv) sans extension ou avec une extension excel.
Dans ce cas il faut préciser l'argument Format dans la méthode Open.
Consulter l'aide de la méthode Open de la collection Worbooks.
0
malleinj Messages postés 9 Date d'inscription mardi 9 décembre 2014 Statut Membre Dernière intervention 17 juillet 2015
17 juil. 2015 à 10:37
Bonjour,

merci pour la réponse.

En effet, il s'agit d'un fichier txt enregistré en xls.
Je ne trouve rien dans la méthode Open.

J'ai essayé d'enregister le fichier en txt après l'extraction d'SAP et de l'ouvrir via VBA mais j'ai le même problème de conversion des nombres.
Le 1.040 devient 1,04 alors que le chiffre réel est 1040

Quelle pourrait être la solution ?

D'avance merci
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
17 juil. 2015 à 11:29
Bonjour,

Dans ce cas il faut utiliser OpenText, avec les options adéquates.
Analyses un des fichiers avec un éditeur de texte (ou le Bloc-note) pour les trouver.
En supposant que tes données sont formatées de la façon suivante :
- Séparateur de champs = Tab
- Délimiteur de texte = "
- Séparateur décimal : ,
- Séparateur des milliers : .
Le code serait :
Workbooks.OpenText Filename:=nomDuFichier, _
  Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, _
  TextQualifier:=xlDoubleQuote, Tab:=True, ThousandsSeparator:=".", _
  DecimalSeparator:=",", TrailingMinusNumbers:=True
0