Erreur 91 ?

Fermé
camouche44 - 31 mai 2020 à 15:08
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 31 mai 2020 à 15:21
Bonjour,

Pour un travail je dois faire une macro qui me permettrai de chercher une valeur x dans un tableau et sortir la valeur y dans la colonne à côté. Cependant, je ne peux pas mettre une valeur fixe car cette valeur est variable d'un travail à un autre, même si la valeur x change je dois toujours trouver la valeur y à coté de celle-ci. Normalement ce son des chiffre à virgule et des résultats de formule, mais même si j'identifie ma valeur min comme un Single ca fonctionne pas... j'ai toujours cette fameuse erreur 91 à rownumber=rng.row. Est ce que quelqu'un pourrait m'aider à résoudre mon problème considérant que je suis très nouvelle avec vba

Sub search()
'
' search Macro
'

Dim rng As Range
Dim min_val As String
Dim rownumber As Long

min_val = Sheets("Feuil1").Range("A1").Value


Set rng = Sheets("Feuil2").Columns("A:A").Find(What:=min_val, _
LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
rownumber = rng.Row
Sheets("Feuil1").Range("B2").Value = Sheets("Feuil2").Cells(rownumber, 2).Value

End Sub

merci énormément de votre aide

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 31 mai 2020 à 15:26
Bonjour,

Comme ceci, l'erreur c'est que ça trouve pas (et y a pas besoin de rownumber) :
Sub search()
Dim rng As Range
Dim min_val As String
  min_val = Worksheets("Feuil1").Range("A1").Value
  Set rng = Worksheets("Feuil2").Columns("A:A").Find(What:=min_val, LookIn:=xlFormulas, LookAt:=xlWhole, _
                                                SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
  If Not rng Is Nothing Then
    Worksheets("Feuil1").Range("B2").Value = rng.Offset(0, 1).Value
  Else
    MsgBox min_val & " non trouvé", vbInformation
  End If
End Sub


Note : Range appartient à Worksheet (Sheet n'existe pas).

1
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
Modifié le 31 mai 2020 à 15:22
bonjour, le message d'erreur n'inclut pas de texte explicatif?
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

le plus probable, je pense, c'est que le
find
ne trouve rien.
tu pourras lire ici comment détecter que rien n'est trouvé: https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel

pourquoi as-tu écrit
LookIn:=xlFormulas
?
0