Erreur d'exécution 91, URGENT

Résolu/Fermé
jen_peplu Messages postés 33 Date d'inscription samedi 4 décembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 4 déc. 2010 à 11:53
jen_peplu Messages postés 33 Date d'inscription samedi 4 décembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 4 déc. 2010 à 21:52
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

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 4/12/2010 à 12:07
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
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
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 4/12/2010 à 17:04
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jen_peplu Messages postés 33 Date d'inscription samedi 4 décembre 2010 Statut Membre Dernière intervention 25 mars 2012
4 déc. 2010 à 21:52
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