Programme VBA simple
l
Bonjour à tous,
Je débute sur VBA, et du coup je bloque depuis hier sur un programme.
Je cherche à localiser une valeur dans une feuille excel, et selectionner la ligne qui correspond à cette valeur.
Voici mon programme:
Sub recherche()
Dim feuille As String, reponse As Integer, secondreponse As Integer
Dim Cells As Range, CelluleTrouvee As Object
feuille = ActiveSheet.Name
Sheets("MEMOIRE").Activate
MsgBox "Cherchons l'adresse d'une armoire"
'recherche de l'armoire
reponse = InputBox("Quelle est le numero de l'armoire à localiser?")
'recherche et sélection de la cellule
Set CelluleTrouvee = Range("D6:D169").Find(reponse, LookIn:=xlValues)
CelluleTrouvee.Select
If Nothing Then
While
MsgBox "numéro hors répertoire, entrez un autre numéro d'armoire svp"
'secondreponse = InputBox("Quelle est le numero de l'armoire à localiser?")
'secondreponse = Set CelluleTrouvee = Range("D6:D169").Find(secondreponse, LookIn:=xlValues)
Wend
End If
End Sub
Est-ce que mes variables sont bien déclarées?
Est-ce que j'utilise la bonne fonction? Find
Qu'est-ce que bloque?
Merci d'avance!
Bonjour
Bienvenu
Regardes si cette manière te convient
Option Explicit
Sub recherche()
'Dim feuille As String, reponse As Integer, secondreponse As Integer
'Dim Cells As Range, CelluleTrouvee As Object
Dim CelluleTrouvee As Range
Dim Reponse As String
'feuille = ActiveSheet.Name
Sheets("MEMOIRE").Activate
MsgBox "Cherchons l'adresse d'une armoire"
'recherche de l'armoire
Do
Reponse = InputBox("Quelle est le numero de l'armoire à localiser?")
If Reponse = "" Then Exit Do ' Sortie si reponse nulle
'recherche et sélection de la cellule
Set CelluleTrouvee = Range("D6:D169").Find(Reponse, LookIn:=xlValues)
If Not CelluleTrouvee Is Nothing Then
CelluleTrouvee.Select
Exit Do ' Trouvé on sort
Else
MsgBox "numéro hors répertoire, entrez un autre numéro d'armoire svp"
'secondreponse = InputBox("Quelle est le numero de l'armoire à localiser?")
'secondreponse = Set CelluleTrouvee = Range("D6:D169").Find(secondreponse, LookIn:=xlValues)
End If
Loop
End Sub