Erreur 91
L'erreur 91 apparaît quand la macro utilise un objet qui n'existe pas encore, ou plus. Dans neuf cas sur dix, c'est un Set oublié ou une recherche qui n'a rien trouvé.
Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer01Le message
Erreur d'exécution 91 : Variable objet ou variable de bloc With non définie. La variable devrait désigner un objet (cellule, feuille, classeur), mais elle est vide : elle vaut Nothing.
02Les causes les plus fréquentes
| Cause | Exemple | Correction |
|---|---|---|
| Set oublié | ws = Worksheets("Ventes") | Set ws = Worksheets("Ventes") |
| Find ne trouve rien | Range("A:A").Find("Dupont").Row | tester Is Nothing avant d'utiliser le résultat |
| Objet jamais affecté | Dim c As Range puis c.Value = 1 | affecter avec Set avant l'usage |
03Le cas classique : Find
Find renvoie la cellule trouvée... ou Nothing si la valeur est absente. Utiliser directement le résultat déclenche l'erreur 91 dès que la recherche échoue.
Sub TrouverClient() Dim trouve As Range Set trouve = Worksheets("Clients").Range("A:A").Find(What:="Dupont", LookAt:=xlWhole) If trouve Is Nothing Then MsgBox "Client introuvable." Else MsgBox "Client trouvé en ligne " & trouve.Row End If End Sub
On ne compare pas un objet avec =. Pour savoir si une variable objet est vide, on écrit If maVariable Is Nothing Then.
04Pièges à éviter
Set total = Range("B10") range la cellule ; total = Range("B10").Value range sa valeur. Le type déclaré (Range ou Double) doit correspondre.
05Questions fréquentes
Que signifie l'erreur 91 en VBA ?
Erreur d'exécution 91 : Variable objet ou variable de bloc With non définie. La variable devrait désigner un objet (cellule, feuille, classeur), mais elle est vide : elle vaut Nothing.
Quel est le piège le plus fréquent avec l'erreur 91 ?
Set pour les objets, pas pour les valeurs. Set total = Range("B10") range la cellule ; total = Range("B10").Value range sa valeur. Le type déclaré (Range ou Double) doit correspondre.
La fiche « Erreur 91 » 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