Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA erreur 91 avec méthode Find

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

altefqhatre

XLDnaute Junior
Bonjour,

Je rencontre une erreur 91 (Variable objet ou variable de bloc With non définie) avec la méthode Cells.Find dans le code suivant :

VB:
Sub Recherche1()

Dim toto As Long

Application.Goto Reference:="Total1"

toto = ActiveCell.Value
[INDENT]
If toto <> "0" Then

Sheets("Feuille").Select

  Cells.Find(What:=toto, After:=Range("G1"), LookIn:=xlFormulas, LookAt:= _

  xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _

  , SearchFormat:=False).Select

 ActiveCell.Offset(0, 2).Value = "Trouvé"

End If[/INDENT]

End sub()

Auriez-vous une idée de comment régler le souci svp ?

D'avance merci beaucoup !!
 
avec un code testé, c'est mieux
Code:
Sub Recherche1()

Dim toto As Long

Application.Goto Reference:="Total1"

toto = ActiveCell.Value

If toto <> "0" Then

Sheets("Feuille").Select

  On Error GoTo Gere_Erreurs
 
  Cells.Find(What:=toto, After:=Range("G1"), LookIn:=xlFormulas, LookAt:= _
  xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
  , SearchFormat:=False).Select

ActiveCell.Offset(0, 2).Value = "Trouvé"
End If
Exit Sub
Gere_Erreurs:

End Sub
 
bonjour
une autre solution sans select
Code:
Sub Recherche1()
    Dim toto As Long, Cel As Range

    toto = ActiveCell.Value

    If toto <> "0" Then
        Set Cel = Sheets("Feuille").Cells.Find(What:=toto, After:=Range("G1"), LookIn:=xlValues, LookAt:= _
                                              xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
                , SearchFormat:=False)
        If Not Cel Is Nothing Then
            Cel.Offset(0, 2).Value = "Trouvé"
        End If
    End If

End Sub
 

Hello à tous !

Merci pour vos réponses !

J'ai tenté avec le code de Bebere, mais malheureusement la procédure passe toujours de If Not Cel Is Nothing Then à End If. Comme si elle ne trouvait pas la valeur donnée à toto dans la feuille "Feuille"... pourtant la valeur de la référence "Total1" est bien présente dans "Feuille".

D'avance merci et belle journée à tous !
 
Bon_jour

Dans la fenêtre de codes de la feuille qui contient la cellule nommée Total1 :

VB:
Sub Recherche1()
  Dim R As Range
  Range("Total1")(1, 3) = ""
  With Sheets("Feuille")
      Set R = .Cells.Find([Total1])
      If Not R Is Nothing And R.Column > 6 Then _
                 Range("Total1")(1, 3) = "Trouvé en " & R.Address
  End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
410
Réponses
2
Affichages
371
Réponses
3
Affichages
494
Réponses
1
Affichages
230
Réponses
12
Affichages
797
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…