Erreur 91 ?
camouche44
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
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
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
-
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).
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
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 lefind
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 écritLookIn:=xlFormulas
?