XL 2010 Impossible d'exécuter la macro. Importe Excel vers Word.

Bonjour, je suis novice en VBA et je me prends grave la tête.
Je souhaite importer automatiquement des données sur un fichier word. Voici ce que j'ai produit en passant par un fichier excel pour faire un import vers word. Toutefois, encore et toujours une erreur
calim2.gif

Je vous laisse les 2 fichiers en questions car je me torture l'esprit. Si quelqu'un est plus compétent que moi...
Quelqu'un pourrait-il m'éclairer ??
Capture d’écran 2024-06-09 165135.jpg

Merci
 

Pièces jointes

  • FORMULAIRE_TEMPLATE_PHII (2).xlsm
    22.8 KB · Affichages: 8
  • FORMULAIRE_TEMPLATE_PHII (2).docm
    67.5 KB · Affichages: 8
  • FORMULAIRE_TEMPLATE_PHII (2).docx
    67.5 KB · Affichages: 7

Dranreb

XLDnaute Barbatruc
Bonjour.
La Sub validation_Click affectée au bouton de formulaire Bouton 13 est écrite dans le module objet Feuil1 (FORMULAIRE) en Private, de sorte qu'elle n'en définit même pas une méthode.
Mettez la plutôt Public dans un nouveau module standard si vous voulez pouvoir l'exécuter comme ça, ou sinon remplacez ce bouton par un CommandButton ActiveX nommé validation.
 

vgendron

XLDnaute Barbatruc
Bonjour

Dis moi si je me trompe.. mais tu as copié un code de quelqu'un d'autre sans pas vraiment le comprendre..?

1) la macro.. il faut la mettre dans un module standard
2) commencer le code avec un message disant que tout s'est bien passé.. alors qu'il n'y a strictement rien de fait encore.. c'est bizarre. non?,

3) le code ferme un document word qui n'a meme pas encore été créé.. bref.. tout le code est écrit à l'envers

des variables (pour mettre un nom de sauvegarde) ne sont pas initialisées..


en gros.. il va falloir décrire le besoin
 

vgendron

XLDnaute Barbatruc
VB:
Sub validation()
Dim instanceW As Object: Dim chemin As String


Set instanceW = CreateObject("Word.Application")
instanceW.Visible = True
instanceW.Documents.Add DocumentType:=wdNewblankDocument
instanceW.ActiveDocument.SaveAs ThisWorkbook.Path & "\" & Range("TITRE") & "-" & Range("Nprojet").Value & "-" & Replace(Replace(Replace(Now, "/", "-"), " ", "-"), ":", "-") & ".docx"
instanceW.Quit

Set instanceW = Nothing
MsgBox "Le rapport a bien été généré dans le sous-dossier exports"

End Sub
 
Merci :)
Je vous explique, j'ai un besoin urgent de créer des documents word que je vais pouvoir remplir automatiquement avec un formulaire (text simple et liste déroulante). Hors le VBA je viens de découvrir donc je fais vraiment avec le peu de connaissances que j'en ai. J'avoue ne pas voir le bout et je doute d'arriver à pondre lesdits documents....
 

vgendron

XLDnaute Barbatruc
VB:
Sub validation()
Dim instanceW As Object: Dim chemin As String

NomTemplate = "FORMULAIRE_TEMPLATE_PHII.docx" 'nom du fichier template à utiliser
Set instanceW = CreateObject("Word.Application") 'création d'une instance word
instanceW.Visible = True 'on affiche l'instance (sinon.. pas sur de pouvoir ouvrir et modifier le template..pas essayé)
instanceW.documents.Open ThisWorkbook.Path & "\" & NomTemplate 'on ouvre le template

'manque le code pour remplir les infos dans le word==> je ne sais pas comment on fait.. à partir de champs de fusion???

instanceW.ActiveDocument.SaveAs ThisWorkbook.Path & "\" & Range("TITRE") & "-" & Range("Nprojet").Value & "-" & Replace(Replace(Replace(Now, "/", "-"), " ", "-"), ":", "-") & ".docx" 'on enregistre le template avec le nom créé à partir des données de la feuille Excel
instanceW.Quit 'on quitte word

Set instanceW = Nothing 'libère la mémoire
MsgBox "Le rapport a bien été généré dans le sous-dossier exports" 'message

End Sub
 

wDog66

XLDnaute Occasionnel
Bonjour,
Merci :)
Je vous explique, j'ai un besoin urgent de créer des documents word que je vais pouvoir remplir automatiquement avec un formulaire (text simple et liste déroulante). Hors le VBA je viens de découvrir donc je fais vraiment avec le peu de connaissances que j'en ai. J'avoue ne pas voir le bout et je doute d'arriver à pondre lesdits documents....
Alors permettez moi de vous dire que sur ce forum, il ne doit pas y avoir de caractère d'urgence :rolleyes:
C'est indiqué dans la charte il me semble !

Pourquoi vouloir utiliser VBA que vous ne connaissez pas, alors qu'un publipostage simple Excel/Word peut faire l'affaire 🤔

Nota : souvent je ne comprends pas les gens 🤪
 

Discussions similaires

Statistiques des forums

Discussions
314 709
Messages
2 112 104
Membres
111 422
dernier inscrit
Freedeee