Créer un document Word à partir de données Excel

  • Initiateur de la discussion Initiateur de la discussion Martini
  • Date de début Date de début
  • Mots-clés Mots-clés
    word

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Martini

XLDnaute Junior
Bonjour à tous,


J'ai rendu un service sous Excel et "on" voulait un résultat sous word. J'aimerais bien créer ce dernier à partir des données que j'ai tapées dans Excel, probablement à l'aide de VBA.

Mais si j'ai pu écrire quelques macros dans ma vie, je n'ai jamais jamais créé un autre document qu'un tableau donc j'ai vraiment besoin d'aide.


J'ai mis un exemple de tableau et de fichier texte (en pdf, je ne peux pas joindre un *.doc).



Merci pour votre aide.
 

Pièces jointes

Bonjour Martini

Dans un nouveau document word, il te faut créer autant de signets que tu as de lignes. En image, crée les signets comme le nom des lignes en image ou un autre nom.

upload_2017-4-16_19-33-24.png

Je ne sais pas si la macro(que je veux te proposer) fonctionnera vu que tu es sous 2003.

EDIT: Bonjour Pierre 🙂

VB:
Sub export_données_dans_signet_word()
Dim WordApp As Word.Application, WordDoc As Word.Document, chemin As String

fichier = ThisWorkbook.Path & "\Doc1.doc"
Application.WindowState = xlMinimized

Set WordApp = CreateObject("Word.Application") 'ouvre session word et le fichier voulu
Set WordDoc = WordApp.Documents.Open(fichier) 'ouvre document Word
WordApp.Visible = False 'word masqué pendant l'operation

'dans le document word, il faut avoir placé des signets aux endroits qu'on veut remplir
'à l'endroit de chaque signet qui se trouve dans le fichier word on va inscrire le contenu des cellules

On Error Resume Next
Application.DisplayAlerts = False

With WordDoc
.Bookmarks("signet1").Range.Text = [A2].Text
.Bookmarks("signet2").Range.Text = [A3].Text
.Bookmarks("signet3").Range.Text = [A4].Text
.Bookmarks("signet4").Range.Text = [A5].Text
.Bookmarks("signet5").Range.Text = [A6].Text
.Bookmarks("signet6").Range.Text = [A7].Text
.Bookmarks("signet7").Range.Text = [A8].Text
.Bookmarks("signet8").Range.Text = [A9].Text
.Bookmarks("signet9").Range.Text = [A10].Text
.Bookmarks("signet10").Range.Text = [A11].Text
.Bookmarks("signet11").Range.Text = [A12].Text
'.Save
End With

Set WordApp = Nothing
Set WordDoc = Nothing
'WordDoc.Save  'si on veut fermer le document word en sauvegardant les données
'WordApp.Visible = True 'affiche le document Word 'WordDoc.PrintOut 'si on veut imprimer
'WordApp.Quit 'ferme la session Word
End Sub
 

Pièces jointes

  • signets.gif
    signets.gif
    1.7 KB · Affichages: 102
Dernière édition:
Re,


J'ai fait une macro qui fonctionne à 90% grâce au modèle de Pierre mais je ne sais pas comment constituer un paragraphe à partir de plusieurs sources.

Je m'explique : chaque véhicule peut avoir 1, 2, 3 problèmes et je voudrais pouvoir les écrire en fonction des cases cochées. Mais je n'ai pas trouvé comment insérer ou non les problèmes contenus en F2:M2 en fonction de la case cochée.


Merci de me mettre sur la piste.
 

Pièces jointes

Re

Peut-être comme ceci (c'est juste un exemple) , à mettre après la boucle de remplissage

VB:
    With Feuil1
    Select Case .CheckBox1
    Case True: doc.Bookmarks("signet4").Range.Text= .CheckBox1.Caption
    End Select
 
    Select Case .CheckBox2
    Case True: doc.Bookmarks("signet7").Range.Text = .CheckBox2.Caption
    End Select
 
    Select Case .CheckBox3
    Case True: doc.Bookmarks("signet10").Range.Text= .CheckBox3.Caption
    End Select
    End With
 
Bonjour à vous,

Lone-wolf> J'ai commis une erreur de langage. Quand je dis "case cochée", c'est la présence ou non d'un X dans une cellule.

Pierre> Je voudrais un *.doc qui liste les DVxxxx avec leurs infos, sur le modèle du pdf en PJ de mon premier post. D'ailleurs, ça marche ; il me manque juste la compétence pour créer la ligne sur les pannes (avec ton modèle, j'ai appris à créer un paragraphe mais pas à ajouter du texte à la fin de celui-ci).
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
1 K
Compte Supprimé 979
C
Retour