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 :

Enregistrer données dans fichier word .docx


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Par défaut Enregistrer données dans fichier word .docx
    Bonjour,

    J'ai un code qui met permet d'enregistrer des infos provenant de la cellule active lorsque je clique sur le bouton de commande "ajouter à la liste..." dans un fichier txt.


    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Option Explicit
     
    Sub AjouterUneLigneDansFichierTexte(CheminComplet As String, ContenuTexte As String)
      Dim FF As Integer, dejala As String
      FF = FreeFile
      Open "Q:\Commun\ListeChangements.txt" For Input As #FF
         dejala = Input(LOF(FF), #FF)
       Close #FF
       Open "q:\Commun\ListeChangements.txt" For Output As #FF
        Print #FF, ContenuTexte & vbCrLf & dejala
      Close #FF
    End Sub
     
    Sub couleurs()
       'Epaisseur de la bordure
       ActiveCell.Borders.Weight = 4
       'Couleur de la bordure : rouge
       ActiveCell.Borders.Color = RGB(255, 0, 0)
    End Sub
     
     
     
    Private Sub BoutonRazCouleurs_Click()
           ActiveSheet.UsedRange.Interior.ColorIndex = xlNone
    End Sub
     
    Private Sub CommandButton1_Click()
    Dim Chaine As String
    Dim Fichier As String
     
        On Error GoTo Erreur
     
        Fichier = "q:\Commun\ListeChangements.txt"
     
     
        If ActiveCell.Row < 3 Then Exit Sub
     
        With ActiveCell
             If Not (.Comment Is Nothing) Then
                  Chaine = " - Modifié le " & Now & " => " & Cells(ActiveCell.Row, 1) & "," & ActiveCell & "," & Cells(55, ActiveCell.Column) & "," & .Comment.Text & "(" & ActiveCell.Address & ")"
            Else
                  Chaine = " - Modifié le " & Now & " => " & Cells(ActiveCell.Row, 1) & "," & ActiveCell & "," & Cells(55, ActiveCell.Column) & "(" & ActiveCell.Address & ")"
            End If
     'Epaisseur de la bordure
       ActiveCell.Borders.Weight = 4
       'Couleur de la bordure : rouge
       ActiveCell.Borders.Color = RGB(255, 0, 0)
     
     
     
        End With
     
        AjouterUneLigneDansFichierTexte Fichier, Chaine
     
       ' MsgBox "Les cellules ont été sauvegardées dans " & Fichier
     
        Exit Sub
     
    Erreur:
     
        MsgBox "Le fichier de sortie est inaccessible"
    End Sub
     
    Private Sub CommandButton2_Click()
    On Error GoTo OuvertureFichierErreur
       Dim MonApplication As Object
       Dim MonFichier As String
       Set MonApplication = CreateObject("Shell.Application")
     
       MonFichier = "q:\Commun\ListeChangements.txt" 'à remplacer par votre fichier
       MonApplication.Open (MonFichier)
     
       Set MonApplication = Nothing
    Exit Sub
     
    OuvertureFichierErreur:
       Set MonApplication = Nothing
        MsgBox "Erreur lors de l'ouverture de fichier..."
    End Sub
    Je voudrais que les infos soient enregistrées dans un fichier word .docx et non dans un fichier .txt.
    j'ai donc remplacé partout dans le code ListeChangements.txt par ListeChangements.docx
    mais dès que je clique sur le bouton de commande "ajouter à la liste ..." il m'indique "le fichier de sortie est innaccessible"
    Par contre quand je clique sur le bouton de commande "voir la liste", il ouvre bien le fichier ListeChangements.docx dans Word

    Je vous remercie de votre aide

    Cordialement

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tout d'abord une catachrèse : ce n'est pas parce que tu mets une étiquette "confiture de fraise" sur un pot de cornichons que le contenu sera de la confiture.
    Ce n'est pas non plus parce que tu mets ".docx" à la fin d'un nom de fichier que ce sera un fichier Word.
    La seule conséquence, c'est que l'explorateur de Windows l'identifiera comme fichier devant être ouvert avec l'application Word.

    Si tu veux que ton fichier soit un vrai fichier Word, crée-le avec Word, ouvre-le avec GetObject et traite-le comme un documents Word par ses méthodes et propriétés.
    https://docs.microsoft.com/fr-fr/off.../word.document

    Pour le reste, il y a trop d'éléments que tu ne fournis pas dans ta demande pour comprendre d'où vient ton problème.

Discussions similaires

  1. Enregistrer sous avec données dans fichier
    Par Znort25x12 dans le forum VBA Word
    Réponses: 1
    Dernier message: 13/07/2018, 00h40
  2. [WD19] Enregistrer données dans fichiers
    Par Invité dans le forum WinDev
    Réponses: 39
    Dernier message: 04/06/2014, 18h39
  3. Enregistrer données dans fichier txt
    Par man0n dans le forum Tkinter
    Réponses: 14
    Dernier message: 30/04/2014, 16h31
  4. [DOM XML] Insertion données dans fichier XML avec PHP pour Flash ?
    Par ExSter dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 10/05/2006, 12h16
  5. Sauvegarde de données dans fichier csv
    Par issou dans le forum C
    Réponses: 1
    Dernier message: 22/12/2005, 09h36

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