Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Word - Excel : demande d'avis et... d'aide

1 réponse
Avatar
SylvieB
Bonjour,
J'ai une base de d'adresse sous excel.
Depuis un menu (UserForm), je peux cr=E9er diff=E9rents=20
documents qui reprennent les donn=E9es.=20

J'aimerais =E9galement, par un click sur mon UserFrom,=20
pouvoir cr=E9er des =E9tiquettes (soit une page par adresse,=20
soit une page avec les adresses compl=E8tes).
A votre avis, est-ce possible ?

Je scrute les questions et r=E9ponses sur ce sujet, je=20
teste le code que je peux r=E9cup=E9rer.

GetObject, par exemple, est abordable avec excel, mais=20
d=E8s que je veux l'utiliser avec word c'est le plantage=20
avec les d=E9clarations, ...

Si quelqu'un peut m'indiquer le code pour 1) ouvrir un=20
fichier word existant et 2) cr=E9er et sauvarder un fichier=20
word, =E7a m'aiderait beaucoup.

Merci d'avance,
SylvieB

1 réponse

Avatar
Clément Marcotte
Bonjour,

Depuis un menu (UserForm), je peux créer différents
documents qui reprennent les données.
J'aimerais également, par un click sur mon UserFrom,
pouvoir créer des étiquettes (soit une page par adresse,
soit une page avec les adresses complètes).
A votre avis, est-ce possible ?


Pour tes étiquettes, fais un publipostage à partir de Word, avec ton
classeur Excel comme source de données. Cela va être bien moins de
trouble. Même pas besoin de macro

Ceci dit:

Si quelqu'un peut m'indiquer le code pour
1) ouvrir un fichier word existant
et 2) créer et sauvarder un fichier
word, ça m'aiderait beaucoup.



Avec quelques commentaires et un peu de gestion d'erreurs:
(Attention aux coupures de lignes qui pourraient survenir
à l'insu de mon plein gré)


Sub OuvrirWordAvecExcel()
Dim AppWord As Object
On Error GoTo piegeerreur
'Essaie de récupérer l'instance de Word
'active au cas où Word serait ouvert
'Si Word n'est pas ouvert, cela génère
'l'erreur numéro 429
'Dans ce cas, c'est le gestionnaire d'erreur "piegeerreur"
'qui prend le relais et qui ouvre Word
Set AppWord = GetObject(, "Word.Application")
AppWord.Visible = True
AppWord.Documents.Add
AppWord.ActiveDocument.SaveAs "LeNouveauDocument.doc"
'Sortie de routine, pour éviter le gestionnaire d'erreurs
Exit Sub
'Gestionnaire d'erreurs
piegeerreur:
Select Case Err.Number
Case 429
'Word n'est pas ouvert
'Ouverture de Word et reprise
'du programme à la ligne suivant
'celle où s'est produit l'erreur
Set AppWord = CreateObject("Word.Application")
Resume Next
Case 5153
'Le fichier "DOC" existe déjà.
'Fin du programme.
'Au lieu de terminer le programme, on pourrait
'mettre à laplace la possibilité de changer le
'nom du fichier, mais là, je n'ai pas le temps
MsgBox "Le fichier existe déjà. Fin du programme et
retour à Word"
Case Else
MsgBox "Erreur imprévue. Fin du programme et retour à
Word"
End
End Select
End Sub