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

Problème avec la fonction Find()

  • Initiateur de la discussion Initiateur de la discussion Fredo
  • Date de début Date de début

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 !

F

Fredo

Guest
Salut a tous.

Voici mon problème, je dois faire une recherche dans une colonne pour vérifier la présence d'une numéro de référence. J'ai pensé utiliser la fonction Find qui me semble adaptée et pas trop lourde.

Mais voila lors de l'exécution, une erreur survient 'N°13 erreur d'incompatibilité de type' et je n'y comprend plus rien.

je me suis aidé de ce même forum utiliser la fonction et patatras ç marche pas. 🙁

voici l'appel de la fonction:
Code:
Set oCell = xlShtAn.Columns('Ref').Find(What:=tabRef(i), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
Avec oCell de type Range et tabRef(i) de type String.

si vous avez une ptite idée pour m'aiguiller je m'arrache les cheveux. Merci.

Fredo
 
Salut Soft, le forum.

Ce que j'avais oublié de préciser c'est que je trvaille sur une base Access a partir de laquelle je créé un fichier Excel.

Je joint a ce post le fichier avec dans le code de la page une copie de la procédure développée ds un module Access.

[file name=Recherche_20060206151924.zip size=35536]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Recherche_20060206151924.zip[/file]
 

Pièces jointes

Re-bonjour,

Effectivement le problème vient de Columns('Ref').

Dans Excel, les colonnes ne sont pas nommées, soit tu veut chercher dans la colonne A alors

Code:
Set OCELL = Columns('A:A').Find(What:='787617', LookIn:=xlValues, _
        SearchOrder:=xlByRows, SearchDirection:=xlNext)

ou encore

Code:
Set OCELL = Columns(1).Find(What:='787617', LookIn:=xlValues, _
        SearchOrder:=xlByRows, SearchDirection:=xlNext)

soit tu cherche dans une plage :

Code:
Set OCELL = Range('A26:A100').Find(What:='787617', LookIn:=xlValues, _
        SearchOrder:=xlByRows, SearchDirection:=xlNext)

ou

Code:
Set OCELL = Range(Cells(26, 1), Cells(200, 1)).Find(What:='787617', LookIn:=xlValues, _
        SearchOrder:=xlByRows, SearchDirection:=xlNext)
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
Réponses
6
Affichages
3 K
A
Réponses
6
Affichages
6 K
A
  • Question Question
Réponses
10
Affichages
1 K
alex_b76
A
N
Réponses
5
Affichages
2 K
Nicko29
N
G
Réponses
18
Affichages
3 K
G
P
Réponses
4
Affichages
1 K
pnombre
P
K
Réponses
4
Affichages
13 K
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…