IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Workbook.SaveAs ajoute des guillemets qui disparaissent si je sauvegarde "à la main". Normal ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Par défaut Workbook.SaveAs ajoute des guillemets qui disparaissent si je sauvegarde "à la main". Normal ?
    Bonjour à tous,

    J'ai un souci avec une macro vba sous Excel. J'ai développé une petite macro pour traiter mes fichiers ofx (relevés de comptes bancaires).
    Le traitement se passe bien mais, au moment de la sauvegarde en utilisant Workbook.SaveAs (c'est pareil avec Save), Excel me rajoute des guillemets dans certains champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With WKB
             .SaveAs Filename:=cheminRepertoire & "\" & .Name & " - Traite.ofx", _
                FileFormat:=xlCSV, CreateBackup:=False
     
    End With
    J'ai essayé avec FileFormat:=xlCSV et xlTXT, c'est pareil.

    Apparemment, les champs concernés sont les champs numériques ou alphanumériques. Les dates et les chaînes ne sont pas touchées. Ceci est d'autant plus bizarre que je force toutes les cellules au format Texte avant de les traiter.

    Donc, j'ai ces guillemets qui se rajoutent et du coup, les balises du format ofx ne sont plus reconnues et le fichier est illisible.
    Nom : Presse-papiers-2.jpg
Affichages : 515
Taille : 13,4 Ko

    Mais, le plus bizarre, c'est que si je sauvegarde en passant par le menu d'Excel ou avec le raccourci CTRL+S, le fichier s'enregistre sans les guillemets

    J'aimerais donc avoir votre avis sur le sujet. Est-ce normal ? Comment contourner cette bizarrerie ?
    Merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Essaie en ajoutant le paramètre Local:=True
    Mais les 2 concernés ont une virgule entourée de chiffres.
    Coïncidence ou pas ? Ca + format texte demandé le pousse peut-être à forcer la génération en texte avec les " ".

    eric

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Excel encadre les chaînes contenant un caractère qui pose problème dans les TXT et CSV.

    D'après ta copie d'écran c'est le - qui pose problème car un - a un sens numérique et il est alors nécessaire de forcer la chaîne.

    Le format interne à Excel (Format Texte) a peu d'incidence à l'export en format texte.

    Il serait préférable d'encadrer l'ensemble des chaînes : le fichier devrait alors être relu sans problème.

    Si tu enregistres le fichier par le menu ou CTRL S, quel format choisis-tu ?

  4. #4
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Par défaut
    Merci à tous les deux pour vos réponses.

    78chris, qu'entends-tu par "encadrer l'ensemble des chaînes" ? Mettre de guillemets à toutes les balises ? Si oui, comment je les enlève après ? car ce que je veux c'est les balises sans les guillemets, bien sûr.

    Lorsque je fais CTRL + S, je ne choisis rien d'autre. Le format est le dernier format du fichier, donc xlCSV dans mon cas. Avec xlTXT c'est pareil.

  5. #5
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Re

    La plupart des logiciels qui lisent des fichiers texte savent faire abstraction des balises (c'est une norme)

    Sinon reste : la gestion de l'export dans une fichier que tu pilotes complétement http://boisgontierjacques.free.fr/pa...equentiels.htm

    L'utilisation de Word plus souple sur la gestion de chaînes : je m'en suis longtemps servi pour éviter des conversions intempestives de données en dates. On peut piloter Word depuis Excel en VBA.

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Par défaut
    Merci.

    Je crois que je vais être pragmatique. Même si c'est moins élégant, je vais faire le traitement, sauvegarder automatiquement à la fin de ce dernier via ma macro, puis sauvegarder à la main avant de refermer le fichier. Je gagnerai du temps.
    Je n'aime pas ça car j'aime quand le programme fait tout mais, je n'ai pas le temps de m'amuser à contrer les fantaisies de Word / Excel. Ce n'est pas la première et la macro fonctionne à part ça.
    Donc, je vais aller au plus simple.

    Merci à vous pour votre aide

Discussions similaires

  1. Des zeros qui disparaissent
    Par santacrus dans le forum VBA Access
    Réponses: 12
    Dernier message: 27/08/2008, 15h13
  2. Attribut des ListItem qui disparaissent?
    Par starkson dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/02/2008, 15h47
  3. VBA Comment ajouter des guillemets
    Par sperchey dans le forum Access
    Réponses: 8
    Dernier message: 15/02/2007, 13h06
  4. [swing][JButton] Des boutons qui disparaissent!
    Par soulhouf dans le forum Débuter
    Réponses: 12
    Dernier message: 19/08/2005, 12h51
  5. [C#] Des 0 qui disparaissent
    Par GéniuS77 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 25/01/2005, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo