Ouverture fichier xls - VBA
malleinj
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Ouverture fichier xls - VBA
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
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.
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.
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
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
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 :
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