Rechercher une valeur dans un tableau Excel
Lew508
Messages postés
7
Statut
Membre
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur la mise en place d'un interface d'aide au pilotage des référence, je ne suis pas pro de VBA, mais j'ai quand même essayé de faire quelque chose sauf que mon code n'est pas bon d'ou ma sollicitation d'aide.
J'ai des référence par ordre croissante dans un tableau excel sur la cellule A, et juste à coté sur la cellule B j'ai attribué des états à ces références. Pilotable = 1 et Non Pilotable = 0.
- J'aimerais que lorsque l’opérateur saisie une référence qui à un état = 1 sur mon formulaire de saisie et appuis sur la touche Entrer, il reçoit un message lui disant : "Référence Pilotable! Attention la moyenne des poids doit être supérieure ou égale au -poids nominal".
- Lorsque l'état de la référence saisie est = 0, il reçoit un message disant: "Référence Non Pilotable"
- Lorsque la référence saisie n'est pas dans mon tableau, il reçoit un message: "Référence non existante dans l'historique"
Pourriez-vous m'aider pour le code VBA svp?
Ci-desous le code que j'ai écrit qui ne fonctionne pas.
Private Sub CommandButton1_Click()
Dim ligne As Integer
For ligne = 2 To 68
If Cells("B2:B68") = 1 Then TextBox "Reference Pilotable"
If Cells("B2:B68") = 0 Then TextBox "Reference Non Pilotable"
End If
End Sub
Merci d'avance.
Je travaille sur la mise en place d'un interface d'aide au pilotage des référence, je ne suis pas pro de VBA, mais j'ai quand même essayé de faire quelque chose sauf que mon code n'est pas bon d'ou ma sollicitation d'aide.
J'ai des référence par ordre croissante dans un tableau excel sur la cellule A, et juste à coté sur la cellule B j'ai attribué des états à ces références. Pilotable = 1 et Non Pilotable = 0.
- J'aimerais que lorsque l’opérateur saisie une référence qui à un état = 1 sur mon formulaire de saisie et appuis sur la touche Entrer, il reçoit un message lui disant : "Référence Pilotable! Attention la moyenne des poids doit être supérieure ou égale au -poids nominal".
- Lorsque l'état de la référence saisie est = 0, il reçoit un message disant: "Référence Non Pilotable"
- Lorsque la référence saisie n'est pas dans mon tableau, il reçoit un message: "Référence non existante dans l'historique"
Pourriez-vous m'aider pour le code VBA svp?
Ci-desous le code que j'ai écrit qui ne fonctionne pas.
Private Sub CommandButton1_Click()
Dim ligne As Integer
For ligne = 2 To 68
If Cells("B2:B68") = 1 Then TextBox "Reference Pilotable"
If Cells("B2:B68") = 0 Then TextBox "Reference Non Pilotable"
End If
End Sub
Merci d'avance.
A voir également:
- Rechercher une valeur dans un tableau Excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
2 réponses
Bonjour,
Il faut faire une recherche de la reference saisie dans la colonne A et tester la valeur de la cellule B, si n'existe pas message "Référence non existante dans l'historique". Si la ref existe, affichage des messages suivant status 1 ou 0
Il faut faire une recherche de la reference saisie dans la colonne A et tester la valeur de la cellule B, si n'existe pas message "Référence non existante dans l'historique". Si la ref existe, affichage des messages suivant status 1 ou 0
Lew508
Messages postés
7
Statut
Membre
c'est justement ce que je n'arrive pas à faire, mon code n'est pas exact apparemment
Bonjour
Voila une modife
A toi de voir
Private Sub CommandButton1_Click()
Dim ligne As Long
For ligne = 2 To 68
If Cells("B" & ligne) = 1 Then TextBox = "Reference Pilotable"
If Cells("B" & ligne) = 0 Then TextBox = "Reference Non Pilotable"
Next
End Sub
A+
Maurice
Voila une modife
A toi de voir
Private Sub CommandButton1_Click()
Dim ligne As Long
For ligne = 2 To 68
If Cells("B" & ligne) = 1 Then TextBox = "Reference Pilotable"
If Cells("B" & ligne) = 0 Then TextBox = "Reference Non Pilotable"
Next
End Sub
A+
Maurice
Bonjour Maurice,
Déjà merci pour l'intérêt accordée à mon problème.
Ceci dit, j'ai recopié le code que tu as proposé, mais ça ne marche toujours pas.
lorsque je rentre la référence et j'exécute le bouton un message s'affiche : "erreur d’exécution 55" , ensuite en dessous du message j'ai: "Argument ou appel de procédure incorrect".
j'ai même essayé de le modifier comme suit:
Private Sub CommandButton1_Click()
Dim ligne As Long
For ligne = 2 To 68
If Cells("B2:B68" & ligne) = 1 Then TextBox = "Reference Pilotable"
If Cells("B2:B68" & ligne) = 0 Then TextBox = "Reference Non Pilotable"
Next
End Sub
mais sans succès.
Déjà merci pour l'intérêt accordée à mon problème.
Ceci dit, j'ai recopié le code que tu as proposé, mais ça ne marche toujours pas.
lorsque je rentre la référence et j'exécute le bouton un message s'affiche : "erreur d’exécution 55" , ensuite en dessous du message j'ai: "Argument ou appel de procédure incorrect".
j'ai même essayé de le modifier comme suit:
Private Sub CommandButton1_Click()
Dim ligne As Long
For ligne = 2 To 68
If Cells("B2:B68" & ligne) = 1 Then TextBox = "Reference Pilotable"
If Cells("B2:B68" & ligne) = 0 Then TextBox = "Reference Non Pilotable"
Next
End Sub
mais sans succès.
Oui j'ai bien lu ce que tu as écrit, et j'ai répondu en disant que je bloque à ce niveau, d'où ma demande d'aide.
j'aurais bien voulu joindre la feuille sur laquelle je travaille pour que vous puissiez voir.
pour faire simple je fais une petite illustration ci-dessous.
Nom de la feuille: Refs
Colonne A Colonne B
Références Etats
4001 1
4002 0
4003 1
4004 0
4005 1
4006 1
......... ..........
........ .........
........ .........
- Lorsque j'écris mon code comme ceci pour comparer, ça ne fonctionne pas:
Private Sub CommandButton1_Click()
Dim a As Variant
Dim b As Variant
Dim table As Range
Set table = Range(Worksheets("refs").Cells("A2,A68"), Worksheets("refs").Cells("B2, B68"))
a = 1
b = 0
For Each cell In table
If Abs(cell.Value) = a Then MsgBox ("Reference Pilotable Attention moyenne des poids doit être supérieur ou égale au poids nominal")
If Abs(cell.Value) = b Then MsgBox ("Reference Non Pilotable")
Next
End Sub
j'aurais bien voulu joindre la feuille sur laquelle je travaille pour que vous puissiez voir.
pour faire simple je fais une petite illustration ci-dessous.
Nom de la feuille: Refs
Colonne A Colonne B
Références Etats
4001 1
4002 0
4003 1
4004 0
4005 1
4006 1
......... ..........
........ .........
........ .........
- Lorsque j'écris mon code comme ceci pour comparer, ça ne fonctionne pas:
Private Sub CommandButton1_Click()
Dim a As Variant
Dim b As Variant
Dim table As Range
Set table = Range(Worksheets("refs").Cells("A2,A68"), Worksheets("refs").Cells("B2, B68"))
a = 1
b = 0
For Each cell In table
If Abs(cell.Value) = a Then MsgBox ("Reference Pilotable Attention moyenne des poids doit être supérieur ou égale au poids nominal")
If Abs(cell.Value) = b Then MsgBox ("Reference Non Pilotable")
Next
End Sub
Je viens de modifier quelque petits trucs, mais lorsque j’exécute, quelque soit l'état 1 ou 0, j'ai le message Ref Non Pilotable qui s'affiche.
Private Sub CommandButton1_Click()
Dim a As Variant
Dim b As Variant
Dim table As Range
Set table = Range(Worksheets("Refs Pilotables").Cells(2, 68), Worksheets("Refs Pilotables").Cells(2, 68))
a = 1
b = 0
For Each cell In table
If Abs(cell.Value) = a Then MsgBox ("Reference Pilotable Attention moyenne des poids doit être supérieur ou égale au poids nominal")
If Abs(cell.Value) = b Then MsgBox ("Reference Non Pilotable")
Next
End Sub
Private Sub CommandButton1_Click()
Dim a As Variant
Dim b As Variant
Dim table As Range
Set table = Range(Worksheets("Refs Pilotables").Cells(2, 68), Worksheets("Refs Pilotables").Cells(2, 68))
a = 1
b = 0
For Each cell In table
If Abs(cell.Value) = a Then MsgBox ("Reference Pilotable Attention moyenne des poids doit être supérieur ou égale au poids nominal")
If Abs(cell.Value) = b Then MsgBox ("Reference Non Pilotable")
Next
End Sub
Re,
Si vous saisissez une seule reference, pourquoi faire une boucle sur la colonne B alors que si vous faites une recherche de cette reference vous aurez la ligne et vous recupererez la cellule colonne B de cette ligne.
Dans vote code il n'y a aucune rcherche de reference, pige pas votre facon de voir!!!!!!!!!!!!!!!!!!!!!
Si vous saisissez une seule reference, pourquoi faire une boucle sur la colonne B alors que si vous faites une recherche de cette reference vous aurez la ligne et vous recupererez la cellule colonne B de cette ligne.
Dans vote code il n'y a aucune rcherche de reference, pige pas votre facon de voir!!!!!!!!!!!!!!!!!!!!!