Vba excel erreur objet requis

Résolu
amo-51 Messages postés 98 Statut Membre -  
amo-51 Messages postés 98 Statut Membre -
Bonjour,

VOICI MA MACRO
excel me renvie erreur de compilation , objet requis sur la ligne set my range
Priere m'aider
Merci

Sub recherche()
'ALE = Application.WorksheetFunction.VLookup(compte, myRange, 2, False)

Sheets("Feuil2").Select

Dim LastRow As Long
Dim myrange As String
Dim i As Integer
Dim Région As Sheets

LastRow = Feuil2.Range("c" & Rows.Count).End(xlUp).Row

Set myrange = Feuil3.Range("D3:E298")

'la boucle

For i = 2 To LastRow
Cells(i, 3) = Application.WorksheetFunction.VLookup(Cells(i, 3), myrange, 2, False)

Next i

End Sub

1 réponse

Résumé de la discussion

L’erreur « objet requis » survient dans une macro Excel lors d’un VLOOKUP avec Set myrange, en raison d’une définition inappropriée de la plage et d’un mauvais ciblage de la feuille. La méthode préconisée consiste à Set myrange = Worksheets(1).[A1:B295], à sélectionner Feuil6 et à calculer LastRow via la colonne B, puis à alimenter la colonne 3 par Application.VLookup. Une version sans commentaire montre le même schéma, avec une plage correctement définie et la suppression du caractère Set lorsque l’objet Range est déjà clair, évitant l’erreur 1004. En complément, l’usage cohérent du codename et du nom réel évite les confusions: préférer Worksheets(1) pour la plage et Feuil6 pour la feuille active afin de limiter les erreurs.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    avec Set myrange = Feuil3.Range("D3:E298")
    tu utilises le codename de la feuille et non son nom.
    C'est sheets("nom de ta feuille").xxx pour utiliser le nom

    Regarde ton projet tu as tes feuilles listée sur ce modèle :
    codename (nom de la feuille)
    Feuil3 n'existe peut-être pas mais tu vas peut-être trouver :
    Feuil5 (Feuil3)
    le feuille nommée "Feuil3" a pour codename Feuil5
    0
    1. amo-51 Messages postés 98 Statut Membre
       
      bonjour;

      où trouver le codename, je viens de voir mon projet, il s'agit bien de feuil3 sur le masque

      merci de m'aider
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      où trouver le codename
      Ben je t'ai expliqué non ?
      Regarde ton projet tu as tes feuilles listée sur ce modèle :
      codename (nom de la feuille)


      Avec Set myrange = Feuil3.Range("D3:E298") vu que Range("D3:E298") ne peut qu'exister, l'erreur ne peut être que sur Feuil3 qui n'existe pas pour vba
      0