With End With
Quand on modifie cinq propriétés de la même plage, recopier cinq fois son adresse alourdit le code. With End With nomme l'objet une seule fois, et toutes les lignes du bloc s'y rapportent.
Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer01Définition
With End With désigne un objet une seule fois ; à l'intérieur du bloc, chaque instruction qui commence par un point s'applique à cet objet.
02Avant, après
Sans With
Range("A1:F1").Font.Bold = True puis Range("A1:F1").Font.Size = 12 puis Range("A1:F1").Interior.Color = ... : l'adresse est répétée à chaque ligne.
Avec With
L'adresse est écrite une fois, chaque ligne commence par un point. Plus court, plus lisible, et plus rapide.
Sub FormaterEntete() With Worksheets("Ventes").Range("A1:F1") .Font.Bold = True .Font.Size = 12 .Interior.Color = RGB(46, 82, 255) .Font.Color = RGB(255, 255, 255) .HorizontalAlignment = xlCenter End With End Sub
03Imbriquer des blocs With
With Worksheets("Ventes") .Range("A1").Value = "Rapport" With .Range("A2:F2").Font .Bold = True .Italic = True End With .Columns("A:F").AutoFit End With
With Worksheets("Ventes") est très pratique pour qualifier toutes les références d'une macro : .Range, .Cells, .Rows.Count désignent alors la feuille Ventes, et non la feuille active.
04Pièges à éviter
À l'intérieur d'un With Worksheets("Ventes"), écrire Cells(1, 1) sans point désigne la feuille active, pas Ventes. Le code ne plante pas, il écrit simplement au mauvais endroit.
Chaque With doit être fermé. Sans End With, VBA refuse de lancer la macro : « With sans End With ».
05Questions fréquentes
À quoi sert With End With en VBA ?
With End With désigne un objet une seule fois ; à l'intérieur du bloc, chaque instruction qui commence par un point s'applique à cet objet.
Quel est le piège le plus fréquent avec With End With ?
Le point oublié. À l'intérieur d'un With Worksheets("Ventes"), écrire Cells(1, 1) sans point désigne la feuille active, pas Ventes. Le code ne plante pas, il écrit simplement au mauvais endroit.
La fiche « With End With » est-elle gratuite ?
Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.
Passez de la fiche à la mise en situation
Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.
Découvrir l'étude de cas XL-05Toutes les fiches du cours VBA gratuit
Voir aussi le cours gratuit sur les formules Excel
Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA