Pb VBA avec fonction find (Erreur 1004) help

Résolu
Jesusdenazarrete Messages postés 102 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 12 juin 2012 - 13 mars 2008 à 10:33
Jesusdenazarrete Messages postés 102 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 12 juin 2012 - 13 mars 2008 à 11:02
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 mars 2008 à 10:53
- 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
3
Jesusdenazarrete Messages postés 102 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 12 juin 2012
13 mars 2008 à 11:02
Super cool renfield, rapide efficace, pas cher...

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