Utiliser méthode Find

Dolichotis

XLDnaute Occasionnel
Bonjour le forum,

Je demande votre aide car je suis un peu bloquée !!

J'utilise la méthode Find pour chercher une cellule (pour obtenir ses ligne et colonne) contenant une formule du type
Code:
=si($A$2=1;"température";)
J'ai mis cette instruction :
Code:
Set Ct = ws. Cells.Find("température", LookIn:=xlFormulas, LookAt:=xlPart)
Quand ce mot n'est pas dans la feuille, il me renvoie bien nothing mais quand il y est il me renvoie 0. Ce que je ne comprends pas.
Comment puis-je faire pour récupérer les coordonnées de la cellule ? Je ne maitrise pas tout à fait la méthode, si vous pouviez m'aider....

(Toutes mes variables sont déclarées (Ct en range, ws en worksheet))

Merci pour vos prochaines idées !
 

Dolichotis

XLDnaute Occasionnel
Re : Utiliser méthode Find

Bonjour tototiti,

Effectivement, j'ai oublié de préciser, j'utilise cette variable CT par la suite avec :
Code:
If (Not Ct Is Nothing) Then
                    ws.Range(Cells(ligP, Ct.Column), Cells(ligP, Ct.Column + 1)).Interior.ColorIndex = 1 
                    St = 2 
            End If

Mais le problème c'est que quand je vais le debug pas à pas, ça me donne la valeur 0 pour Ct (pourquoi ?) quand le texte "température" se trouve dans la feuille ws alors que j'aimerai avoir C5 ou G78.

Est-ce que c'est mon instruction qui ne va pas ?
 

Dolichotis

XLDnaute Occasionnel
Re : Utiliser méthode Find

et pour Ct.column, ça te donne quelle valeur ?

Ca me donne une erreur !

Mais ce qui m'étonne c'est qu'il ne me renvoie pas la référence de la cellule au lieu de 0.

Je me demandais donc si l'instruction était mal tournée...?
j'ai mis xlformulas parce que le texte se trouve dans une formule, est-ce bon ?
j'ai mis xlpart parce que c'est qu'une partie de la formule et pas la formule entière est-ce bon ?
y a-t-il d'autres paramètres à mettre avec xlformulas ?

Si tu (ou vous sur d'autres ont des connaissances) peux (ou pouvez) m'éclairer là-dessus ?
 

pierrejean

XLDnaute Barbatruc
Re : Utiliser méthode Find

bonjour Dolichotis

Salut Tototiti

Voir cet essai

Je crois que Find trouve température en A2 (dans la formule) et de ce fait est un peu 'déconcentré'
 

Pièces jointes

  • cherche.zip
    9.5 KB · Affichages: 31
  • cherche.zip
    9.5 KB · Affichages: 35
  • cherche.zip
    9.5 KB · Affichages: 39

pierrejean

XLDnaute Barbatruc
Re : Utiliser méthode Find

Re

Curieux !

Après nouvel essai je n'ai plus besoin d'eviter l'adresse A2

aurai-t-on affaire au souvenir qu'a le Find des derniers parametres utilisés !!!

(C'est la raison pour laquelle il faut nommer tous les parametres )
 

Pièces jointes

  • cherche.zip
    9.4 KB · Affichages: 33
  • cherche.zip
    9.4 KB · Affichages: 37
  • cherche.zip
    9.4 KB · Affichages: 39

tototiti2008

XLDnaute Barbatruc
Re : Utiliser méthode Find

c'est une bonne idée, PierreJean,

donc essaye peut-être :

Set Ct = ws.Cells.Find(What:="température", After:=Activesheet.Range("A1"), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
 

Dolichotis

XLDnaute Occasionnel
Re : Utiliser méthode Find

Bonjour Pierrejean,

Je n'ai pas bien compris pourquoi il était déconcentré. J'ai fait tourner ta routine pas à pas et dès la première instruction, il me renvoie bien température...

Pourtant de mon côté, il me renvoie 0.
(Je ne recherche pas vraiment température mais température (en °C))
Peut-être ne reconnaît-il pas ° ?? Je vais tester...
Edit ( ça n'a pas l'air d'être ça...)

Par contre, j'ai bien nommé et déclaré mes variables
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Utiliser méthode Find

Bonjour Dolichotis, pierrejean, Re tototiti

If (Not Ct Is Nothing) Then
ws.Range(Cells(ligP, Ct.Column), Cells(ligP, Ct.Column + 1)).Interior.ColorIndex = 1
St = 2
End If

Ne faut-il pas écrire :

Code:
If (Not Ct Is Nothing) Then
ws.Range([COLOR="Red"]ws.[/COLOR]Cells(ligP, Ct.Column), [COLOR="Red"]ws.[/COLOR]Cells(ligP, Ct.Column + 1)).Interior.ColorIndex = 1 
St = 2 
End If

A+
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
176
Réponses
10
Affichages
396
Réponses
4
Affichages
238

Statistiques des forums

Discussions
312 488
Messages
2 088 863
Membres
103 979
dernier inscrit
imed