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

04-Mai-2005

 

 

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" - Positionner le curseur dans le document Word

Nous entamons là la partie la plus complexe et la plus longue de notre code.

Voici le détail des opérations que nous allons devoir accomplir :

- récupérer le contenu de chacune de nos zones de texte ;
- les insérer dans notre document grâce à nos signets
- refermer la boîte de dialogue
- positionner notre curseur au début de notre lettre pour que l'utilisateur puisse compléter le corps de la lettre.

Ouf !

Tout d'abord, pour insérer le code, vous l'aurez deviné, il vous faut double-cliquer sur le bouton "valider".

Vous obtenez les deux lignes de code suivantes :

Fonction "Ok"Placez votre point d'insertion entre ces deux lignes.

S'agissant de notre première boîte de dialogue, nous allons faire simple et récupérer les données telles que, sans les reformater, en partant du principe que l'utilisateur les ait saisies correctement. Nous veillerons au cours des leçons suivantes à améliorer et optimiser ce code.

Positionner le curseur dans le document Word

Nous avons défini, en page 2, différents signets dans notre document Word. Reprenez ou imprimez cette liste.

Nous allons déplacer notre curseur sur chacun de ses signets et y insérer le contenu de notre boîte de dialogue.

Vous avez sans doute noté que nous n'avons créé qu'un seul signet pour l'adresse alors qu'elle comporte plusieurs lignes : nous traiterons ce cas vers la fin de cette leçon. Let's go, ce n'est pas très compliqué !

La syntaxe pour atteindre un signet Word est la suivante :

selection.goto([What], [Which], [Count], [Name] as range)

Encore une fois, faisons simple et ne nous embarrassons pas de détails inutiles (nous ne sommes pas des programmeurs chevronnés... pour l'instant !).

La syntaxe minimale dont nous aurons besoin est selection.goto,,,"nom_du_signet".

Pour notre signet "date", cela donnera donc selection.goto,,,"date". Insérez cette ligne de code et double-cliquez sur "Userform" dans la fenêtre Projets, puis appuyez sur F5 pour lancer la macro. Déplacez la boîte de dialogue : votre curseur est bien placé derrière "Paris, le ". Appuyez sur le bouton "Cancel" et revenez dans l'éditeur de code et double-cliquez à nouveau sur le bouton "valider".

Voici le reste des instructions à saisir (faites un copier-coller dans Word si vous le souhaitez) :

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

Pour l'instant, nous n'avons fait que déplacer notre curseur aux différents signets. Nous allons apprendre à présent, à insérer le contenu de notre boîte de dialogue.

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"