Remplissage de formulaire depuis une base de donnée

Bonjour à tous !

Voilà, je début en VBA sous excel et j'aurais besoin d'un peu d'aide pour un projet

Laissez moi vous expliquer :

L'utilisateur, après avoir cliqué sur le bon bouton, se trouve face à une interface (un formulaire) lui demandant de scanner un code barre qui remplira un champ vide (référence) et il lui suffira de cliquer sur valider pour que tout les autres champs de remplissent automatiquement.

Voilà comment je vois les choses :

Ce que je cherche est plutôt simple, on a une base de données (feuil3 du fichier joint, c'est une base de donnée d'exemple) où sont listé des informations sur une ligne et référencées.

D'un autre côté on a un formulaire (feuil2 en cliquant sur le bouton "renseigner des données"), un champ libre (le premier en haut) ou sera tapé (ou scanné) une référence.

En cliquant sur valider, une macro se lance et va chercher (dans la feuil3, base de donnée) toutes les infos des champs en dessous (lot, machine, segment, etc...) et remplit ces champs avec les données trouvées dans la base de donnée.

C'est relativement simple avec une fonction de recherche mais j'avoue ne pas trop savoir comment faire sur un formulaire...

Je ne cherche pas la réponse directement mais si vous pouvez au moins m'orienter vers la solution, je vous serez très reconnaissant

Bonne journée

102test-scan.zip (60.31 Ko)

Bonjour Arthi,

Voici le code à mettre dans le 1er bouton "Valider" de ton USF

Il faudra bien entendu le compléter pour remplir tous les champs

Private Sub CommandButton2_Click()
  Dim LigF As Long
  If TextBox1 = "" Then
    CreateObject("Wscript.shell").Popup "Merci de saisir une référence", 3, "Erreur"
    Exit Sub  ' Evite un 2ème test
  End If
  With Sheets("Feuil3")
    On Error Resume Next  ' Si ligne non trouvée
    LigF = 0
    LigF = .Columns("A:A").Find(What:=Me.TextBox1.Value, LookIn:=xlValues, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Row
    On Error GoTo 0
    ' Si la ligne est trouvée, mettre à jour l'USF
    If LigF <> 0 Then
      Me.TextBox2.Value = .Cells(LigF, 2).Value
      ' Etc ...
    End If
  End With
End Sub

A+

Ho super BrunoM45 ! Merci, je vais voir ça

Juste une petite question bête mais je ne sais plus comment faire pour qu'un champ text d'un formulaire soit égal à un autre...

EDIT: J'ai essayé mais il ne se passe rien... Aucune erreur pourtant et le code est plus que clair

Re,

Est-ce que la feuille contenant ta base de donnée s'appelle bien "Feuil3"

Voici ton fichier avec le code modifié et la présentation de "Feuil3" également, ça doit être ça

A+

154arthi-test-scan.zip (58.04 Ko)

Je crois que ça doit venir de chez moi car le fichier que tu m'as envoyé ne marche pas non plus...

Je suis sous 97, ça peut avoir une incidence à ce point ?

Re,

Oups.. Excel 97

Je ne pourrais rien faire pour toi

Pourquoi ne pas utiliser Open Office ou Libre Office on peut faire pas mal de chose avec

et il me semble que ça sait gérer le VBA

A+

Donc c'est foutue ?

Bon... Malheureusement, je ne décide pas vraiment quel logiciel utiliser...

Merci tout de même de m'avoir aidé !

PS : je viens de tester sur mon portable perso équipé de la version 2010, tout marche impeccable et même d'autres fonctions que j'essayé depuis tout à l'heure... Donc merci encore une fois !

Rechercher des sujets similaires à "remplissage formulaire base donnee"