Erreur d'exécution 91, URGENT

Résolu
Bonjour,

Je débute en VB et malgré mes recherches sur le forum, pourriez-vous m'aider à résoudre mon problème ?
"Erreur d'exécution 91 : Variable objet ou variable de bloc With non définie"

Je cherche la valeur de la cellule "Val_" qui est variable, dans la colonne V.
"Val_" est un nombre entier.

Sub chercher()
'
' chercher Macro
' Macro enregistrée le 04/12/2010 par jen_peplu
'

'
Sheets("A_LIVRER").Select
Range("val_").Select 'selection de ("val_") qui contient la valeur à rechercher
Application.CutCopyMode = False
Selection.Copy 'copie la valeur de "val__"
Columns("V:V").Select
Cells.Find(What:="val_", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Selection.End(xlToLeft).Select
End Sub

L'erreur se produit à partir de la ligne "Cells.Find............"

Merci pour votre aide parce que là Jen_peplu
A+

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. bonjour,
    il me semble qu'il y a un pb ici (au moins), où il y a confusion entre le nom de la cellule et sa valeur (ici il faut mettre sa valeur par exemple V )
    Cells.Find(What:=V,
    et faire preceder la recherche par une instruction du genre
    V = Range("val_").value

    bonne suite
    1. Bonjour ccm81
      Merci pour ta réponse, je n'ai plus le message d'erreur mais le résultat escompté n'est pas le bon.
      J'ai modifié le code en déclarant Val_ comme ceci :

      V = Range("val_").Value
      Cells.Find(What:=V, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
      xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
      , SearchFormat:=False).Activate

      Il faudrait que la recherche ce fasse uniquement dans ("V:V") car il y a d'autres cellules avec des numéros, j'ai modifié LookIn:= , ça ne marche pas....
      1. Bonjour ccm81
        J'ai modifié le code comme suit, en déclarant Val_, je n'ai plus le message d'erreur mais le résultat escompté n'est pas le bon

        V = Range("val_").Value
        Cells.Find(What:=V, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

        La recherche doit se faire uniquement dans ("V:V"), j'ai modifié LookIn:=
        ça ne marche pas......
        Alors ?????
        Merci
        1. re
          je ne suis pas specialiste de cette fonction

          toutefois
          le .Find est une methode s'appliquant à une plage (on cherche dans une plage)d'où un code qui permet de trouver la ligne ou se trouve v dans la colonne B
          Private Sub CommandButton1_Click() 
          v = Range("D1").Value 
          With Range("B:B") 
            co = .Find(v, LookIn:=xlValues).Row 
          End With 
          Range("D2").Value = co 
          End Sub


          bonne suite
          1. Bonsoir ccm81
            Tu es bien plus spécialiste que moi, j'ai adapté tes lignes de commande à mes besoins, cela marche à merveille. Pour l'heure je n'y serais jamais arrivé sans ton aide, j'ai avancé mon projet grace à votre forum mais là, j'étais dans l'impasse.
            Merci beaucoup, ccm81
            A+, bonne continuation.