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 :

[VBA] Remplacer un saut de ligne par un caractère dans un fichier [Débutant(e)]


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut [VBA] Remplacer un saut de ligne par un caractère dans un fichier
    Bonjour ^^

    J'ai déjà un peu regardé, et j'ai vu qu'il y avait la méthode Replace.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim contenu As String = texte.Text
            contenu = contenu.Replace("lol", "ok")
            affiche.Text = contenu
    Ou encore dans les tutoriels:
    http://faqvbnet.developpez.com/?page...x_remplacement

    Mais je veux crée une méthode où quand je transfert les données d'un fichier.txt, dans une base de données Access en remplaçant les retours à la ligne par un caractère....

    Comment puis-je faire ?

    Petit exemple de ce qui se trouve dans mon fichier.txt:
    http://img293.imageshack.us/img293/1...hiertxtfe6.gif

    Les rectangles (blanc parce que c'est surligné), sont en fait soit un retour à la ligne soit un caractère avec accent. Mais moi je veux juste remplacer les rectangles correspondants au retour à la ligne par un autre caractère.

    Merci d'avance !

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Les caractères de retour à la ligne sous windows (par défaut) sont chr$(13) & chr$(10). Il suffit donc de remplacer ces caractères là.

    Si le fichier à une provenance unix, c'est soit chr$(13) seul ou chr$(10) seul, me rappelles plus lequel ^^

  3. #3
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Merci ^^

    Petite question supplémentaire.....

    Si mon texte dans lequel je veux changer le caractère saut de ligne par un autre, est dans un fichier texte, est ce que je dois déclarer mes variables ainsi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim montexte as string = nomdufichier ou chemindufichier

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    String est une variable. Ce n'est pas un flux de lecture de fichier.

    Pour lire un fichier, interresse toi aux objets TextStream du FileSystemObjet

    http://access.developpez.com/sources...s#FichierTexte

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Ce serait plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const strFilePath as String = "C:\toto.txt"
    mais pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim contenu As String = texte.Text
    sinon c'est ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim contenu As String
    contenu = texte.Text

  6. #6
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Coucou ^^

    Citation Envoyé par Tofalu
    String est une variable. Ce n'est pas un flux de lecture de fichier.

    Pour lire un fichier, interresse toi aux objets TextStream du FileSystemObjet

    http://access.developpez.com/sources...s#FichierTexte
    Et bien j'ai repris ce qui avait dans le lien en essayant de l'adapter, mais il me créé quelques petits soucis...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Bouvrir()
    On Error GoTo err
    Dim Fichier As String
    'Recuperer le nom du fichier
    Fichier = OuvrirUnFichier(Me.Hwnd, "Ouvrir un fichier texte", _
      1, "Fichier Texte", "txt")
    If Fichier <> "" Then
      'Affiche le nom du fichier
      TFichier = Fichier
      'Lit le fichier
      lirefichier (Fichier)
    End If
    Exit Sub
    err:
    MsgBox "Impossible d'ouvrir le fichier", vbCritical, _
      "Erreur"
    End Sub

    Où met-on le fichier ou le chemin du fichier ?

    Et que peut-on mettre pour remplacer Me. ?

    Et que signifie Hwnd ?

    Merci d'avance

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    t'embête pas t'as qu'à mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fichier = OuvrirUnFichier(0, "Ouvrir un fichier texte", _
      1, "Fichier Texte", "txt")

  8. #8
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Franchement ! Il n'est pas sympathique ce Me.

    Il me refait une erreur avec Me. mais cette fois-ci dans la fonction OuvrirUnFichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
        
        ShellExecute Me.hwnd, "open", "\\beaqae\HDC_ESPACE_COMMUN\Statistiques\Applications\Developpements\Suivi_TR_NIV2\Query1.txt", "", CurrentProject.Path, 1
    
    End Function
    Pour le Me. il affiche : "Instruction incorrecte à l'extérieur d'une procédure"


    Désolée, mais franchement là je m'en sort pas trop...

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Il me semble avoir écrit dans le post juste avant que tu pouvais tester de remplacer Me.Hwnd par 0 ... non ?

  10. #10
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Oui, je l'ai fait (disons que je me suis trompée en le fesant, j'avais remplacé Me.hwmd par 0 et non pas seulement Me. )

    Et désolée de vous avoir fait répéter, disons que je commence à m'énervée sur ce projet de programme, mais aussi un peu fatiguée, donc un peu distraite par la même occasion.

    Mais bon là en rectifiant le tire, il me demande "Attendu : fin d'instruction" en me surlignant hwnd.

    O_o

  11. #11
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Si ça ne marche pas en remplace Me.Hwnd par 0, essaie de remplacer par Me.Hwnd par Application.hWndAccessApp

  12. #12
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    C'est bien le me.hwnd qui est à remplacé par 0, comme l'a indiqué cafeine. Seulement, il est utilisé à plusieurs endroits

  13. #13
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Coucou ^^

    Dans les deux cas, que je remplace :

    - Me.hwnd par 0, il me surligne 0 et affiche : "Erreur de compilation : Instruction incorrecte à l'extérieur d'une procédure"

    - Me.hwnd par Application.hWndAccessApp, il me surligne Application et affiche : "Erreur de compilation : Instruction incorrecte à l'extérieur d'une procédure"

    Aurais-je un sérieux problème à faire cette partie de programme (ou j'ai encore oublié une information ? ), ou je rêve ?

  14. #14
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Recommence tout depuis le début, tu as du faire une erreur

  15. #15
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    oki ^^

    hum.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Bouvrir_Click()
    On Error GoTo err
    Dim Fichier As String
    'Recuper le nom du fichier
    Fichier = OuvrirUnFichier(Me.hwnd, "Ouvrir un fichier texte", _
      1, "Fichier Texte", "txt")
    If Fichier <> "" Then
      'Affiche le nom du fichier
      TFichier = Fichier
      'Lit le fichier
      lirefichier (Fichier)
    End If
    Exit Sub
    err:
    MsgBox "Impossible d'ouvrir le fichier", vbCritical, _
      "Erreur"
    End Sub
    Dans la partie du code en rouge, où dois-je indiquer le chemin vers mon fichier ? Au niveau de "Fichier texte", non ?

    Merci d'avance

  16. #16
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Personne ?

  17. #17
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et si tu prenais le temps de tout lire ?

    Dans le code source il est écrit :

    La fonction OuvrirUnFichier est disponible dans la FAQ Access ainsi que dans le fichier source zippé.
    Si tu la regarde de plus près cette fonction, tu t'appercevra qu'elle retourne le nom du fichier. Il faut donc que tu la remplaces par le nom du fichier (puisqu'apparemment tu n'as pas besoin de la fonction OuvrirUnFichier)

  18. #18
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Excusez moi mais j'ai bien lu.....

    Citation Envoyé par Tofalu
    Et si tu prenais le temps de tout lire ?

    Dans le code source il est écrit :


    Citation:
    La fonction OuvrirUnFichier est disponible dans la FAQ Access ainsi que dans le fichier source zippé.
    Et c'est en cliquant sur le lien que j'ai dut chercher et trouver ce code là, car le lien n'indique que la FAQ Access, et donc voilà je suis tombée la dessus en cherchant "comment ouvrir un fichier", car il n'y avait pas OuvrirUnFIchier...

  19. #19
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Elle était dans le zip aussi

  20. #20
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Oui je viens de passer quelques minutes à chercher sur la recherche avec OuvrirUnFichier et j'ai fini par le trouvé....

    Et bien j'aurais pas pensé à le chercher là....

    http://access.developpez.com/faq/?pa...#AffBoitDialog

    Edit : oye, je suis tellement prise à vouloir du code, que je ne regarde même pas à coté, sous mon nez quoi (le zip).... Ca m'arrive souvent de chercher longtemps quelque chose et que finalement celui ci se trouve sous mon nez.....


+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Remplacer Sauts de Ligne par insertion colonne
    Par mathcyber dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/05/2011, 15h22
  2. Remplacer Saut de ligne par un autre caractère
    Par kurtalis dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/05/2007, 17h40
  3. Réponses: 23
    Dernier message: 02/05/2007, 14h52
  4. Réponses: 16
    Dernier message: 22/03/2006, 11h11
  5. remplacer des sauts de ligne par '\n'
    Par Miksimus dans le forum Général Python
    Réponses: 5
    Dernier message: 18/07/2005, 10h01

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