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

 

 

 


Simplifier le code : l'instruction With

Voici, pour mémoire, un court extrait de notre code :

Private Sub ok_Click()
.GoTo , , , "date"
.InsertAfter Format(datel, "d mmmm yyyy")
.GoTo , , , "adresse"
.InsertAfter societe & Chr(10) & contact & Chr(10) & rue1 & Chr(10) & rue2 & Chr(10) & cp & " " & ville
.GoTo , , , "vosref"
.InsertAfter vosref
.GoTo , , , "nosref"
.InsertAfter nosref
.GoTo , , , "objet"
.InsertAfter objet
...

End Sub

Vous avez sans doute remarqué que de nombreuses instructions débutent avec le même suffixe Selection, qu'il s'agisse de .Goto ou de .InsertAfter.

Il est possible de se simplifier l'écriture du code en regroupant toutes ces instructions à l'intérieur d'un bloc With... End with.

Il devient alors inutile de faire précéder

Ainsi notre code final deviendra donc :

Pour une meilleure lisibilité de votre code, n'oubliez pas d'appuyer sur la touche tabulation pour mettre les instructions encadrées par With Selection... End With en retrait.

L'utilisation du paramètre With... End with ne se limite pas à son emploi avec Selection, mais avec toute instruction répétitive, comme dans l'exemple ci-dessous :

Ci-contre, l'instruction With a d'abord été utilisée avec l'instruction Selection.Font puis avec l'instruction Selection.Paragraphs.

Faute d'utiliser l'instruction With, nous aurions dû répéter le membre Selection.Font ou Selection.Paragraphs sur chacune des lignes concernées.

 

 

Niveau

Pré-requis :

  • Avoir suivi les leçons
    3, 4 et 5