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 :

Par Macro, gérer fichier TXT


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Par Macro, gérer fichier TXT
    Bonjour,

    Je voudrais qu'a l'exécution d'une Macro, (pour la première fois)
    1 - Créer un fichier toto.txt
    2 - Ecrire le chiffre 1 (un compteur)
    3 - Lire le fichier pour en extraire le compteur
    4 - Pour la réexécution de la Macro, incrémenter ce compteur
    5 - Après je gère le chiffre du compteur

    Merci à vous

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Utilise FileSystemObject (merci )...
    J'ai pas l'impression que tu as cherché beaucoup...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Merci de m'avoir répondu,

    Oui, j'ai utilisé FileSystemObject

    La seule chose que j'ai réussi a faire,
    c'est a créer le fichier

    Mais pas le reste !

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour,

    on pourrai écrire
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    '
    ' Penser à mettre la référence à Microsoft Scripting
    '
    Function MonCompteur(Optional Incremente As Boolean = False) As Integer
     Dim objFso As New Scripting.FileSystemObject
     Dim f As Scripting.TextStream
     Const MON_FICHIER = "c:\Tmp\MonCompteur.txt"
     Dim iCpt As Integer
     'Lecture du compteur
     On Error Resume Next
         Set f = objFso.OpenTextFile(MON_FICHIER)
        On Error GoTo 0
         If f Is Nothing Then
           iCpt = 0 'Cas ou fichier inexistant
           Else
           iCpt = Val(f.ReadLine)
           f.Close
         End If
       If Incremente Then
          iCpt = iCpt + 1
          Set f = objFso.CreateTextFile(MON_FICHIER)
          f.Write iCpt
          f.Close
        End If
     
      MonCompteur = iCpt
     
    End Function
    ensuite tu utilse la fonction :

    pour lire ton compteur :
    pour lire et incrémenter ton compteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox MonCompteur(true)

    tu dis quoi

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    et comme ne n'aime personnellement pas que l'on alourdisse l'application inutilement par FSO, qui est du VBS (j'ai déjà eu l'occasion de le dire) , voilà la solution directe VB, toute simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
      Open "d:\titi.txt" For Input As #1
        Line Input #1, compteur
      Close #1
      DoEvents
      Open "d:\titi.txt" For Output As #1
        Print #1, Val(compteur) + 1
      Close #1
      MsgBox "compteur à " & compteur
    End Sub
    Clique plusieurs fois sur command1 et comprends.

  6. #6
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonjour,

    et comme ne n'aime personnellement pas que l'on alourdisse l'application inutilement par FSO, qui est du VBS (j'ai déjà eu l'occasion de le dire) , voilà la solution directe VB, toute simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
      Open "d:\titi.txt" For Input As #1
        Line Input #1, compteur
      Close #1
      DoEvents
      Open "c:\titi.txt" For Output As #1
        Print #1, Val(compteur) + 1
      Close #1
      MsgBox "compteur à " & compteur
    End Sub
    Clique plusieurs fois sur command1 et comprends.
    toute simple mais elle ne marche pas

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

Discussions similaires

  1. [HTML] Ajouter même ligne html par macro (plusieur fichiers HTML)
    Par naouah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/02/2009, 21h49
  2. Réponses: 4
    Dernier message: 04/03/2008, 14h46
  3. Réponses: 1
    Dernier message: 15/09/2006, 16h23
  4. Exportation d'1 fichier txt par une procédure stockée
    Par loutsky dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/06/2006, 18h25
  5. Lire un fichier txt par http (C sous Linux)
    Par sleg dans le forum Réseau
    Réponses: 4
    Dernier message: 18/10/2005, 11h07

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