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 :

Ecriture dans un fichier.txt à repetition multiple en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Par défaut Ecriture dans un fichier.txt à repetition multiple en VBA
    Bonjour à tous,

    J'ai le code suivant :

    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
    way = Workbooks(ActiveWorkbook.name).FullName
    way2 = Workbooks(ActiveWorkbook.name).name
    way_user = Replace(way, "\" & way2, "\Reco.txt")
    User = (Environ("USERNAME"))
    date_t = (Day(Now) & "\" & Month(Now) & "\" & Year(Now))
    Horloge = Format(Now, "hh:mm:ss")
     
    chn = "|" & name_stock & "|" & isin_stock & "|" & user_name & "|" & (Day(Now) & "." & Month(Now) & "." & Year(Now)) & "|" & Mid(way_user, 3)
     
     
    Dim intFic As Integer
     
    intFic = FreeFile
    Open way_user For Append As intFic
    Print #intFic, chn
    Close intFic
    Il fonctionne très bien à la premiere utilisation ( la chaine de caractere chn s'affiche dans le fichier txt mais quand j'essaye de relancer la macro plus rien ne s'ecrit dans le fichier text. Je n'arrive vraiment pas a comprendre pourquoi.
    Auriez vous une explication ?
    MErci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Auriez vous une explication ?
    Montre où et comment :
    - tu as déclaré cette macro
    - depuis où et comment tu l'appelles

    Impossible, sinon, de t'aider.

    EDIT as-tu seulement tenté de vérifier qu'entre un appel et l'autre, tu écrivais toujours dans le même fichier ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Par défaut
    voici l'integralité de la fonction : je l'execute depuis un bouton dans une worksheet

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Sub PDF_comments()
    Dim CS As Worksheet
    Dim cl As Worksheet
    Dim way_user  As String
    Dim name As String
    current_tab = ActiveSheet.name
    Set CS = Worksheets(current_tab)
    Set cl = Worksheets(current_tab)
    way = Workbooks(ActiveWorkbook.name).FullName
    way2 = Workbooks(ActiveWorkbook.name).name
    pillar1_comment = Cells(8, 4)
    pillar2_comment = Cells(8, 7)
    pillar3_comment = Cells(8, 12)
    other = Cells(10, 4)
    Cells(1, 1).Select
    CS.Activate
        On Error Resume Next
        name_stock = Replace(Worksheets(current_tab).Cells(1, 4).Value, "/", "-")
        way_user = Replace(way, "\" & way2, "\Case_study\" & name_stock & "_" & (Environ("USERNAME")) & "_" & (Day(Now) & "." & Month(Now) & "." & Year(Now)) & ".pdf")
        Filename = Create_PDF(ActiveSheet, way_user, True, True)
        cl.Activate
    With sheets("Data")
        univ_stock = .Cells(2, 3)
        id_quant = .Cells(3, 3)
        isin_stock = .Cells(4, 3)
        ticker_stock = .Cells(5, 3)
        user_name = (Environ("USERNAME"))
    End With
     
     
    way = Workbooks(ActiveWorkbook.name).FullName
    way2 = Workbooks(ActiveWorkbook.name).name
    way_user = Replace(way, "\" & way2, "\Reco.txt")
    User = (Environ("USERNAME"))
    date_t = (Day(Now) & "\" & Month(Now) & "\" & Year(Now))
    Horloge = Format(Now, "hh:mm:ss")
     
    chn = "|" & name_stock & "|" & isin_stock & "|" & user_name & "|" & (Day(Now) & "." & Month(Now) & "." & Year(Now)) & "|" & Mid(way_user, 3)
     
     
    Dim intFic As Integer
     
    intFic = FreeFile
    Open way_user For Append As intFic
    Print #intFic, chn
    Close intFic
     
     
    sheets(current_tab).Visible = False
    end sub
    Merci beaucoup

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    je ne crois pas que tu aies ainsi satisfait entièrement à ce que je t'ai demandé, à savoir :
    Montre où et comment :
    - tu as déclaré cette macro
    - depuis où et comment tu l'appelles
    Bonne nuit.

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Par défaut
    Je l ai declaré dans un module. Je l'appelle en cliquant sur un bouton qui est dans un worksheet ? Te faut-il davantage de précision ? Desolé si tu n'as pas tous les éléments

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je vais donc être aussi peu bavard que toi --->>
    Le code que tu as montré ne peut que fonctionner si, à la fois :
    - le fichier appelé en écriture est toujours le même
    et (bien évidemment)
    - si la macro qui contient ce code est réellement déclenchée
    Et ces deux choses se vérifient facilement (y compris avec une simple msgbox)

    Au passage : je ne comprends pas la nécessité de définir deux fois la variable way et la variable way2

Discussions similaires

  1. Ecriture dans un fichier txt avec C++
    Par altera14 dans le forum C++
    Réponses: 4
    Dernier message: 17/06/2008, 10h57
  2. Ecriture dans un fichier txt
    Par ENSAM-ALAMI dans le forum MATLAB
    Réponses: 4
    Dernier message: 05/05/2008, 16h46
  3. Ecriture dans un fichier .txt
    Par aquarius85 dans le forum MATLAB
    Réponses: 5
    Dernier message: 03/03/2008, 08h28
  4. ecriture dans un fichier txt
    Par warubi dans le forum VB.NET
    Réponses: 3
    Dernier message: 02/06/2007, 11h07
  5. Réponses: 8
    Dernier message: 07/09/2006, 11h43

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