Réaliser un VBA pour consultation article

Pacococo -  
 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

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Perso je ferais un petit UserForm, pour la forme.
    Cjoint un petit ezemple...
    0
  2. mcou
     
    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
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
      0
    2. mcou
       
      un exemple avec ce que j'avais fait.

      http://nt2217.1fichier.com/REF%20pacococo.xls

      Merci pour le tuyau find, je vais utiliser ça !!
      0