Recherche d'une valeur dans un tableau
Résolu
Ark
-
Ark -
Ark -
Bonjour à tous !
Je cherche un moyen d'obtenir un code qui me permette de vérifier l'appartenance d'une cellule saisie à un tableau présent dans la feuille.
En cas de réponse positive, un message doit apparaître et me rediriger vers une autre feuille.
Cependant je n'arrive à faire quelque chose de potable. Mes lignes de code n'activent rien...
Voyez plutôt:
le "Dim MaValeur" me sert à rien mais je le garde pour me rappeler quelle cellule je dois comparer :-p
Pouvez-vous m'aider?
Merci infiniment,
Ark.
Je cherche un moyen d'obtenir un code qui me permette de vérifier l'appartenance d'une cellule saisie à un tableau présent dans la feuille.
En cas de réponse positive, un message doit apparaître et me rediriger vers une autre feuille.
Cependant je n'arrive à faire quelque chose de potable. Mes lignes de code n'activent rien...
Voyez plutôt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaValeur As String, INTERSECT As Object, MSG As String
MaValeur = Range("C17")
Set INTERSECT = Application.INTERSECT(Range("C17"), Range("F200:H221"))
If Not INTERSECT Is Nothing Then
MSG = MsgBox("Toto", vbOKOnly)
Sheets("Feuil2").Select
End If
End Sub
le "Dim MaValeur" me sert à rien mais je le garde pour me rappeler quelle cellule je dois comparer :-p
Pouvez-vous m'aider?
Merci infiniment,
Ark.
A voir également:
- Recherche d'une valeur dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
4 réponses
Bonjour
Intersect n'est pas une variable Objet mais une Méthode VBA de l'objet application
MSG ne sert a rien
Bon WE
pour apprendre VBa
https://bidou.developpez.com/article/VBA/
très complet mais ne se lit pas comme un roman policier (hélas!) :o)
Michel
Intersect n'est pas une variable Objet mais une Méthode VBA de l'objet application
MSG ne sert a rien
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaValeur As String
MaValeur = Range("C17")
If Not Application.INTERSECT(Range("C17"), Range("F200:H221")) Is Nothing Then
MsgBox "Toto", vbOKOnly
Sheets("Feuil2").Select
End If
End Sub
Bon WE
pour apprendre VBa
https://bidou.developpez.com/article/VBA/
très complet mais ne se lit pas comme un roman policier (hélas!) :o)
Michel
Bonjour,
INTERSECT(Range("C17"), Range("F200:H221")) retournera toujours nothing puisque l'intersection des plages est vide.
Je crois que c'est plutôt de .find que tu as besoin.
Ca sera qcq chose comme :
INTERSECT(Range("C17"), Range("F200:H221")) retournera toujours nothing puisque l'intersection des plages est vide.
Je crois que c'est plutôt de .find que tu as besoin.
Ca sera qcq chose comme :
dim c as rangeeric
Set c = Range("F200:H221").Find(Range("C17"), LookIn:=xlvalues, LookAt:=xlWhole)
if not c is nothing then
Sheets("Feuil2").Select
endif
Bonjour Eric, ça va ?
Heu!... ma rentrée des classes n'est pas fameuse !!!
Michel
Heu!... ma rentrée des classes n'est pas fameuse !!!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaValeur As String
MaValeur = Range("C17")
If Target.Address = "$C$17" Then
If Application.CountIf(Range("F200:H221", Target)) > 0 Then
MsgBox "Toto", vbOKOnly
Sheets("Feuil2").Select
End If
End If
End Sub
Michel