Pb VBA avec fonction find (Erreur 1004) help [Résolu]

Signaler
Messages postés
102
Date d'inscription
jeudi 22 juillet 2010
Statut
Membre
Dernière intervention
12 juin 2012
-
Messages postés
102
Date d'inscription
jeudi 22 juillet 2010
Statut
Membre
Dernière intervention
12 juin 2012
-
Bonjour,

J'ai un léger problème avec la fonction find (je suis avec excel 2002 sp3), je vous explique :

Voici mon programme :

Public vcherch As String
Public vtrouve As Range
------------------------------------------------------------------------------------------­--------------------------
Public Sub Bcherch_Click() (Bcherch c'est le bouton sur lequel on appuie pour rechercher)

worksheets("Facturation").Activate (on recherche dans la feuille facturation)

vtrouve = Range(Cells(1, 1), Cells(30, 35000)).Find(what:=Ccherch.Value).Address

MsgBox vtrouve.address

End Sub
------------------------------------------------------------------------------------------­--------------------------
Private Sub Ccherch_change()

vcherch = Ccherch.Value (Ccherch c'est la boite dans laquelle on inscrit ce qu'on veut chercher)

End Sub
------------------------------------------------------------------------------------------­--------------------------

Lorsque je lance ma feuille, tout se passe bien, mais le problème c'est que dès que je clique sur le bouton Bcherch,
J'ai le message suivant : Erreur 1004, Erreur définie par l'application ou l'objet

Quelqu'un peut-il m'aider S'il vous plait

Merci d'avance

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
- Range et Cells doivent être relatives à une WorkSheet.
- 30,35000, euh...... prendre plutôt Cells.SpecialCells(xlCellTypeLastCell)- vtrouve ..... ne peux fonctionner. Pour les objets on fait Set vtrouve .........
- tu donne a vtrouve l'adresse de la range trouvée... ca colle pas

ce qui pourrait donner:

    With Worksheets("Facturation")
        .Activate '(on recherche dans la feuille facturation)
        Set vtrouve = .Range(.Cells(1, 1), .Cells.SpecialCells(xlCellTypeLastCell)).Find(What:=Ccherch.Value)
        If Nothing Is vtrouve Then
            MsgBox "Chaine non trouvée"
        Else
            MsgBox vtrouve.Address
        End If
    End With

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
102
Date d'inscription
jeudi 22 juillet 2010
Statut
Membre
Dernière intervention
12 juin 2012

Super cool renfield, rapide efficace, pas cher...

Juste a coller dans le scripteditor, réponse personnalisée, que du bonheur!!!!