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

VBA Access Discussion :

fichier bat généré par vb access et accents [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut fichier bat généré par vb access et accents
    Bonjour, question certainement posée 200 fois, j'ai fait des recherches sur les forums mais je n'ai pas trouvé la réponse.
    Par programmation vb sous access, j'ai créé un fichier bat pour pouvoir mettre à jour une appli. Comme s'est sur un réseau, le programme identifie l'utilisateur, puis écrit dans le fichier bat la fonction de copy ainsi que tous les chemins où se trouvent le fichier à charger et à recopier. Le but étant d'automatiser le processus pour les utilisateurs.

    Sauf que s'il y a des noms de chemin avec accents, le lancement du bat qu'il soit par shell, ou manuellement ou par la commande msdos call copy.bat, les caractères accentués sont remplacés par un signe cabalistique et n'indiquent donc plus les vrais chemins.

    Par contre, si je fais un copié collé du texte du bat et que je l'introduit dans la console de commande msdos, tout fonctionne. Voilà je n'arrive pas à m'en sortir, j'ai utilisé CHCP 1252, bref je crois avoir tout fait Avez vous trouvé la solution ? çi dessous programme VB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.OpenTextFile(EmplacementUtilisateur & "\Copy.bat", 2, True, TristateUseDefault)
    f.Write "copy """ & EmplacementNewAppliServeur & """ """ & EmplacementUtilisateur & "\PrevisionsRedactions.mdb"""
    f.Close
    Shell EmplacementUtilisateur & "\Copy.bat"

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 649
    Points : 34 353
    Points
    34 353
    Par défaut
    salut,

    perso j'utilise la fonction issue de la

    qui donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function EcrireFichierTexte(strText As String, strpathfile As String) As Boolean
    Dim F As Integer
    On Error GoTo fin
        F = FreeFile
        Open strpathfile For Append As #F
        Print #F, strText
        Close #F
        EcrireFichierTexte = True
        Exit Function
    fin:
    If Err.Number = 61 Then ' accès en écriture du fichier non accepté
        EcrireFichierTexte = False
    End If
    End Function
    Et en testant avec un caractere accentue ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub piou()
    EcrireFichierTexte "testÉ", "C:\temp\jp.bat"
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut re: merci pour la réponse
    J'ai testé la fonction, mais le résultat est le même. dur dur ! merci pour la réponse

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 649
    Points : 34 353
    Points
    34 353
    Par défaut
    Est-ce que tu parles du contenu du fichier bat ou de ce qui s'affiche lors de l'execution de ce fichier ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut re:
    Le contenu du fichier BAT est correct, c'est son exécution qui pose problème, lancé soit shell soit manuellement, ou bien en faisant un call, les caractères accentués ne sont pas gérés par msdos? par contre lorsque je fais un copié collé du contenu du fichier bat et que je l'introduis dans la console msdos la ligne de commande fonctionne normalement !

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 649
    Points : 34 353
    Points
    34 353
    Par défaut
    ok,

    remplace alors dans la syntaxe les caracteres accentues par leur valeur en code ascii

    exemple (toujours avec la meme fonction) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub piou()
    EcrireFichierTexte "C:\temp\" & Chr(138) & "\jp.bat" & vbCrLf & "pause", "C:\temp\test.bat"
    End Sub

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 762
    Points
    7 762
    Par défaut
    Bonjour,

    regarde comment je fais ici

    A+

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut re : mille merci c'est Ok
    Pas évident à connaitre, donc c'est ok, j'ai introduit les lignes dans ma fonction, ca remplace apparement les "é" pas une virgule, mais s'est décodé par msdos correctement. Remerciements de votre intérêt à cette question, cela me prenait la tête. Je vais bien dormir ce soir.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/01/2008, 13h02
  2. importer fichier .SQL généré par mysql vers MSSqlServer 2005
    Par Themacleod1980 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2007, 15h49
  3. Probleme: fichier .jar généré par FatJar
    Par gnaoui_9999 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 08/11/2006, 17h01
  4. Fichiers temporaires générés par VISUAL???
    Par chris_wafer_2001 dans le forum MFC
    Réponses: 1
    Dernier message: 02/02/2006, 23h08
  5. [JDOM] Fichier xml généré par jdom
    Par vero59 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 05/08/2005, 16h30

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