[REGLER]Worksheets + Range + Cells pour un Find (exemple de find)

alcap

XLDnaute Nouveau
Bonjour,

J'ai un problème avec excel voici le code
Code:
Public Function recherche_indexcampagne(text As String, colonne As Integer)

    Dim celluletrouvee As Range
    Dim ligne As Integer
    Dim col As Integer
    'fonction de recherche de la ligne
    Set celluletrouvee = Worksheets("parametres").Range(Cells(2, colonne), Cells(1000000, colonne)).Find(text, lookat:=xlWhole)
    
    If celluletrouvee Is Nothing Then
        MsgBox ("Erreur fonction recherche_indexcampagne")
    Else
        ligne = celluletrouvee.Row
        col = celluletrouvee.Column
        'MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col)
    End If
    recherche_indexcampagne = ligne
End Function

Le message est
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet

Le problème ce situe à la ligne suivante, seulement quand la feuille active n'est pas "parametres" :

Set celluletrouvee = Worksheets("parametres").Range(Cells(2, colonne), Cells(1000000, colonne)).Find(text, lookat:=xlWhole)

Ce code permet de faire une recherche dans une 'colonne' pour savoir à quel ligne mon texte ce situe. Ce code est appeler plusieurs fois dans le programme.

Je n'ai pas de problèmes si je fait une fonction avec par exemple : Range("H2", "I500000")



avec vous une idée du problème ?
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Worksheets + Range + Cells pour un Find

Bonjour,

essaye ceci, tu dois également préciser le nom de la feuille pour les "cells" :
Code:
With Worksheets("parametres")
    Set celluletrouvee = .Range(.Cells(2, colonne), .Cells(1000000, colonne)).Find(Text, lookat:=xlWhole)
End With

bonne fin d'après midi
@+
 

alcap

XLDnaute Nouveau
Re : [REGLER]Worksheets + Range + Cells pour un Find (exemple de find)

Code une fois fini

Code:
Public Function recherche_indexcampagne(text As String, colonne As Integer)

    Dim celluletrouvee As Range
    Dim ligne As Integer
    Dim col As Integer
    'fonction de recherche du texte dans le range
    With Worksheets("parametres")
        Set celluletrouvee = .Range(.Cells(2, colonne), .Cells(1000000, colonne)).Find(text, lookat:=xlWhole)
    End With
    'si le texte n'est pas trouvé
    If celluletrouvee Is Nothing Then
        MsgBox ("Erreur fonction recherche_indexcampagne")
        ligne = 0
    Else
        ligne = celluletrouvee.Row
        col = celluletrouvee.Column
        'MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col)
    End If
    'renvoi du numéro la ligne trouvé
    recherche_indexcampagne = ligne
End Function
 

Discussions similaires

Réponses
2
Affichages
148

Statistiques des forums

Discussions
312 203
Messages
2 086 196
Membres
103 153
dernier inscrit
SamirN