Méthode find + valeur formule

iadi06 Messages postés 21 Statut Membre -  
iadi06 Messages postés 21 Statut Membre -
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

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Et dans le LookIn:= tu peux jouer avec
      xlComments -4144 Commentaires.
      xlFormulas -4123 Formules.
      xlValues -4163 Value.
      0
    2. iadi06 Messages postés 21 Statut Membre
       
      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
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      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
    2. iadi06 Messages postés 21 Statut Membre
       
      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