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 Word Discussion :

insertion donnés avec userform [Toutes versions]


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    debutant dans excel
    Inscrit en
    décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : debutant dans excel
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2019
    Messages : 11
    Points : 6
    Points
    6
    Par défaut insertion donnés avec userform
    Bonjour a toutes et tous,
    je souhaiterais pouvoir insérer des données saisi dans un userform dans mon fichier word.
    Le code qui suis fonctionne mais ne change pas toute les occurrences.
    De plus il faudrait que l'userform s'ouvre a l'ouverture du fichier word et de pouvoir imprimer le document et de quitter par ce même userform.
    Merci de votre aide.
    Nom : Capture.JPG
Affichages : 76
Taille : 58,0 Ko

    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
    Private Sub btnEnvoyer_Click()
        'Dim appWord As Object
        Dim docWord As Object
        Dim range1 As Object
        Dim range2 As Object
        Dim range3 As Object
        Dim range4 As Object
     
        'Créer une instance de l'application Word
        'Set appWord = CreateObject("Word.Application")
     
        'Ouvrir le document Word existant
        Set docWord = ThisDocument
     
        'Trouver les emplacements pour insérer les données
        Set range1 = docWord.Content
        range1.Find.Execute FindText:="[[champ1]]"
        Set range2 = docWord.Content
        range2.Find.Execute FindText:="[[champ2]]"
        Set range3 = docWord.Content
        range3.Find.Execute FindText:="[[champ3]]"
        Set range4 = docWord.Content
        range4.Find.Execute FindText:="[[champ4]]"
     
        'Ajouter les données saisies dans les emplacements correspondants dans le document Word
        range1.Text = Me.txtChamp1.Value
        range2.Text = Me.txtChamp2.Value
        range3.Text = Me.txtChamp3.Value
        range4.Text = Me.txtChamp4.Value
     
        'Enregistrer le document Word
        'docWord.Save
     
        'Fermer le document Word
        'docWord.Close
     
        'Fermer l'application Word
        'appWord.Quit
     
        'Afficher un message pour indiquer que les données ont été envoyées
        MsgBox "Les données ont été envoyées dans le document Word."
    End Sub
     
    Private Sub CommandButton1_Click()
     
    End Sub
     
    Private Sub CommandButton2_Click()
     
    End Sub
    champ1.zip

  2. #2
    Membre averti
    Inscrit en
    avril 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : avril 2008
    Messages : 198
    Points : 393
    Points
    393
    Par défaut
    Bonjour ddmot74, le forum,


    Pour ouvrir automatiquement le userform à l'ouverture du document, il te faut rajouter ce code dans le module ThisDocument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Document_Open()
        UserForm1.Show
    End Sub
    Ensuite, tu peux modifier le code du userform UserForm1 ainsi :
    • code du bouton Saisir les données
      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
      Private Sub btnEnvoyer_Click()
       
          'Remplacer les valeurs dans le document
          With ThisDocument.Range.Find
              .Execute FindText:="[[champ1]]", ReplaceWith:=Me.txtChamp1.Value, Replace:=2      '2 = wdReplaceAll
              .Execute FindText:="[[champ2]]", ReplaceWith:=Me.txtChamp2.Value, Replace:=2
              .Execute FindText:="[[champ3]]", ReplaceWith:=Me.txtChamp3.Value, Replace:=2
              .Execute FindText:="[[champ4]]", ReplaceWith:=Me.txtChamp4.Value, Replace:=2
          End With
          With Me
              .txtChamp1.Enabled = False
              .txtChamp2.Enabled = False
              .txtChamp3.Enabled = False
              .txtChamp4.Enabled = False
              .btnEnvoyer.Enabled = False
          End With
       
          MsgBox "Les données ont été envoyées dans le document Word."
      End Sub
    • code du bouton Imprimer
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Private Sub CommandButton1_Click()
          ThisDocument.PrintOut
      End Sub
      L'impression se fait sur l'imprimante par défaut.
    • code du bouton EXIT
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Private Sub CommandButton2_Click()
          ThisDocument.Close False
      End Sub
      Le document se ferme sans enregistrer les modifications.


    A+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    debutant dans excel
    Inscrit en
    décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : debutant dans excel
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2019
    Messages : 11
    Points : 6
    Points
    6
    Par défaut insertion donnés avec userform résolu
    Salut mromain,

    Merci de ton aide, exactement ce qui me fallait, respect et encore merci aller santé
    A+

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

Discussions similaires

  1. [XL-2010] Editer des données avec Userform
    Par MartinTK dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/04/2014, 14h29
  2. Insertion données avec un trigger
    Par Rouanou dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/04/2014, 15h55
  3. [MySQL] Insertion données avec une requête préparée
    Par Mikma dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 23/05/2013, 21h59
  4. Insertion données avec contrainte non respectée
    Par yoyostras dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/05/2008, 16h20
  5. SQL Server 2005 - ETL - Insertion données avec vérification.
    Par Mailgifson dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/12/2007, 12h22

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