Erreur d'exécution 91, URGENT

Résolu
jen_peplu Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
jen_peplu Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    0
  2. jen_peplu
     
    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....
    0
  3. jen_peplu
     
    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
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jen_peplu Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
     
    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.
    0