Méthode find + valeur formule

iadi06 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
iadi06 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai vu plusieurs postes traitant du sujet de la méthode Find mais aucun malheureusement qui m'a permis de régler mon problème. Pouvez-vous m'aider ?

Je cherche simplement à retrouver intJourEnleve dans une feuille. Malheureusement, la méthode find renvoie à toutes mes tentatives Nothing.

Je précise que dans les deux feuilles (origine, destination), toutes les valeurs sont issues de formules.

Que puis-je faire ?

Merci pour votre aide, mon code ci-dessous :

Set rngSearchRangePrerequis = wshPrerequis.Range("P6", "AQQ6")
Set rngSearchRangePCDFSeq = wshPCDFSeq.Range("P6", "AQQ6")


For NbCol = 4 To NbTotal
    If wshCal.Cells(19, NbCol).Interior.ColorIndex = 3 Then
        intJourEnleve = wshCal.Cells(17, NbCol).Value
        Set rngDatePrerequis = rngSearchRangePrerequis.Find(intJourEnleve, LookAt:=xlWhole, LookIn:=xlValues)
        Set rngDatePCDFSeq = rngSearchRangePCDFSeq.Find(intJourEnleve, LookAt:=xlWhole, LookIn:=xlValues)
        
        If rngDatePrerequis Is Nothing Then
            MsgBox "Rien"
            Exit Sub
        End If
        
        With rngDatePrerequis
            .Interior.ColorIndex = 3
        End With
        
        With rngDatePCDFSeq
            .Interior.ColorIndex = 3
        End With
        
    End If
Next NbCol
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Les cellules qui contiennent ta valeur cherchée.... ne contiennent rien d'autre ? pas d'autres valeurs, des espaces ...?? Idem dans la valeur à chercher ?

Car tu utilises le xlWhole donc tu fais une recherche "Exacte".
As tu essayé avec un xlPart ?

Sinon, postes nous un exemple de classeur où tu peux nous montrer le souci... histoire qu'on puisse réaliser des tests de notre cote.


2
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et dans le LookIn:= tu peux jouer avec
xlComments -4144 Commentaires.
xlFormulas -4123 Formules.
xlValues -4163 Value.
0
iadi06 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Excellent, ça fonctionne. Il fallait passer en xlPart effectivement.

Je t'avoue que je ne comprends pas pourquoi ça ne fonctionne pas avec xlWhole car la cellule départ = 1

et la cellule recherché = 1. Les deux avec le même format.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Comme dit jordane45 que je salue au passage, xlPart devrait convenir pour une recherche du résultat d'une formule, un petit exemple
https://www.cjoint.com/c/IDCjBdgRnEB

Cdlmnt
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
PS. j'ai oublié d'ajouter : à condition que cette valeur apparaisse dans le texte de la formule, par exemple
=SI(A2=2;"toto";"titi")
Si ce n'est pas le cas, par exemple (H2 = toto)
=SI(G2=2;H2;"titi")
La méthode Find ne fonctionnera plus
https://www.cjoint.com/c/IDCl7VHY36B

Restera la solution de boucler et comparer chaque cellule avec la valeur cherchée

Cdlmnt
0
iadi06 Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Merci les gars pour vos réponses rapides.

ça fonctionne nickel maintenant.

Je laisse le sujet ouvert juste pour rapidement échanger avec vous sur le pourquoi cela fonctionne maintenant. Puis je mettrais que c'est résolue.
0