Domaines
RH
Juridique
Compta
Administratif/Moyens Généraux
Communication
Bureautique
Conseils aux débutants
Word
Excel
PowerPoint
Outlook
Access
Publisher

PagePlus (PAO)

Windows/système
PhotoImpact
Conception web : les bases
Applications pas à pas
Tests logiciels
Macros VBA
Leçons
Macros Word
Astuces
Orthographe
Rédaction
Organisation
Produits/services malins
Outils
Ouvrages
Modèles
Macros
Liens
Anglais
Grammaire avec AnglaisFacile
Leçon gratuite avec AnglaisFacile
Carrière
Gestion de carrière
Fiches métier
Témoignages / vécu
Offres d'emploi

Evénements métier
Echos de presse, comptes-rendus

Echanger

Forums
Chater en direct

© Nadège Guilbert
Le contenu de ce site
est régulièrement déposé auprès de la SGDL
Reproduction interdite
sans le consentement
écrit de l'auteur


Imprimer la page

Macros / VBA > Index

16-Nov-2006

 

 

Préambule
Le modèle et ses signets
Créer une boîte de dialogue : Userform
Ajouter des contrôles Intitulés et Zones de texte
Les autres contrôles et leurs propriétés : boutons de commande, image et UserForm
Insérer du code : bouton "Annuler"
insérer du code : bouton "Valider" - Positionner le curseur dans le document Word
insérer du code : bouton "valider" - insérer le contenu de la boîte de dialogue
insérer du code : bouton "valider" - insérer un retour chariot dans Word
Refermer la boîte de dialogue
Lancer la macro à l'ouverture du modèle

Conclusion

 

 

Télécharger fichier exemple

Télécharger la Userform finalisée (avec le code !)

Dessiner sa boîte de dialogue

Insérer du code : bouton "valider" - insérer le contenu de la boîte de dialogue

 

Nous l'avons vu précédemment dans notre petit cahier des charges, après avoir atteint chaque signet, il nous faut insérer le contenu de la boîte de dialogue correspondant.

Par exemple, à l'emplacement du signet "date", nous devons insérer le contenu du contrôle de notre UserForm que nous avons appelé "datel".

Idem pour le signet "vosref", nous allons insérer le contenu de la zone de texte de notre UserForm que nous avons nommée "vosref" et ainsi de suite.

Pour insérer du texte, la syntaxe est on ne peut plus simple :

selection.InsertAfter nom_du_contrôle

Ce qui nous donne, pour la date, selection.InsertAfter datel
Placez cette ligne de code sous la ligne Selection.GoTo , , , "date" en insérant une ligne supplémentaire.

Principe : on atteint le signet, on insère le texte. On atteint le signet, on insère le texte, etc. Il va donc falloir insérer une instruction selection.InsertAfter après chaque ligne selection.goto.

Notre code sera donc :

Private Sub ok_Click()
Selection.GoTo , , , "date"
Selection.InsertAfter datel
Selection.GoTo , , , "vosref"
Selection.InsertAfter vosref
Selection.GoTo , , , "nosref"
Selection.InsertAfter nosref
Selection.GoTo , , , "objet"
Selection.InsertAfter objet
Selection.GoTo , , , "pj"
Selection.InsertAfter pj
Selection.GoTo , , , "salutation1"
Selection.InsertAfter salutation
Selection.GoTo , , , "salutation2"
Selection.InsertAfter salutation
Selection.GoTo , , , "signataire"
Selection.InsertAfter signataire
Selection.GoTo , , , "titre"
Selection.InsertAfter titre
Selection.GoTo , , , "debut"
End Sub

Remarques :

Signets "salutation1" et "salutation2" : le contenu de ces deux signets est identique, à savoir le contenu de la zone de texte que nous avons appelée "salutation".

Signet "debut" : on ne fait que positionner le curseur au début du corps de la lettre, avant de rendre la main à l'utilisateur.

A présent, occupons-nous du cas particulier de l'adresse.

Haut

Niveau

Pré-requis :

  • Aucun

 

Pour affecter du code à un bouton : double-clic sur ledit bouton

Refermer une Userform : Unload nom_de_la_feuille

Atteindre un signet Word :
selection.goto, , , "nom_du_signet"

Insérer le contenu d'un contrôle :
selection.insertAfter nom_du_contrôle