Accueil/Cours gratuits/Bibliothèque VBA/Objets Excel/With End With
Cours VBA gratuit | Objets Excel

With End With

Gratuit, sans inscription Niveau 2 / 3 | Intermédiaire Lecture 5 min V1.2 | 29/10/2026

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 à imprimer

01Définition

En une phrase

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.

Mettre en forme un en-tête
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

Un With dans un 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
💡 AstuceAvec une feuille

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

⚠️ PiègeLe 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.

⚠️ PiègeOublier End With

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.

Pour les formateurs

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-05
Voir aussi

Toutes 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