Réaliser un VBA pour consultation article
Pacococo
-
mcou -
mcou -
Bonjour,
J'ai réalisé un projet de gestion de stock et j'aimerais un programme permettant de consulter les informations contenu dans les ligne
Mon tableau
Ref Désignation Qty fournisseur
J'aimerai que quand je tape dans la InputBox la ref,
Les autres info apparaissent,
J'ai déja le programme pour un, mais je crois que ej m'y prend mal
J'ai réalisé un projet de gestion de stock et j'aimerais un programme permettant de consulter les informations contenu dans les ligne
Mon tableau
Ref Désignation Qty fournisseur
J'aimerai que quand je tape dans la InputBox la ref,
Les autres info apparaissent,
J'ai déja le programme pour un, mais je crois que ej m'y prend mal
2 réponses
-
-
Hello
tu peux tout mettre dans un input box (cf ci dessous) mais un formulaire serait plus adapté...
Option Explicit Sub REF() Dim Trouve As Boolean 'déclare la variable Trouve comme étant un nombre Boolean (renvoie à une valeur vraie et une valeur fausse) Dim saisie As String 'déclare la variable saisie comme étant une chaîne de caractère Dim NRef As Long 'déclare la variable NRef comme étant un entier long ' demande quelle est la référence que l'on veut vérifier ' recherche la commande à partir de son numéro de référence dans le classeur, colonne A saisie = InputBox("Quel numéro de référence?", "REF", 1) If IsNumeric(saisie) Then NRef = CLng(saisie) Else MsgBox "La macro est arrêtée." Exit Sub End If Trouve = False Range("A2").Select Do While ActiveCell.Offset(0, 1).Value <> "" If ActiveCell.Value = NRef Then Trouve = True Exit Do Else: ActiveCell.Offset(1, 0).Select End If Loop If Trouve = False Then MsgBox "Le numéro de référence est inexistant." Exit Sub End If MsgBox "Le numéro de référence est : " & ActiveCell.Value & Chr(13) & _ "La désignation est : " & ActiveCell.Offset(0, 1).Value & Chr(13) & _ "La quantité est : " & ActiveCell.Offset(0, 2).Value & Chr(13) & _ "Le fournisseur est : " & ActiveCell.Offset(0, 3).Value End Sub-
re-
Plutôt que de boucler sur toutes les cellules d'une colonne pour trouver la bonne valeur, il vaux mieux utiliser la méthode Find :Sub cherche() Dim Trouve As Range Dim Valeur_cherchee As String, Valeur_trouvee As String Valeur_cherchee = "Gnagna" Set Trouve = ActiveSheet.Columns(1).Cells.Find(what:=Valeur_cherchee) If Trouve Is Nothing Then MsgBox "Pas trouvé" Else Valeur_trouvee = Trouve.Offset(0, 1).Value End If Set Trouve = Nothing End Sub -
-