XL 2016 VBA - demande de correction d'un code pour formulaire

FooFighters82

XLDnaute Nouveau
Bonjour à tous,
j'ai trouver sur YT un tuto qui correspond à peut prêt à ce que je souhaite faire : Tuto, à savoir un formulaire qui appelle toutes les infos dont j'ai besoin en fonction d'un code client (liste déroulante)
Par contre je n'ai qu'une combobox et non 2 comme dans le tuto voir fichier joint
Comme je n'y comprend pas grand chose en VBA, je me suis contenté de recopier et de suppr les lignes qui me paraissaient inutiles.
Je n'arrive pas à faire fonctionner mon formulaire donc j'en appelle à vos connaissances pour me venir en aide afin que je puisse frimer au boulot avec un formulaire qui envoie du lourd 😁
Le raccourci pour lancer le formulaire est "Ctrl + F"
Par avance merci
SeB
 

Pièces jointes

  • Fabricant(test).xlsm
    22 KB · Affichages: 12
Solution
Bonjour
vire moi tout les bribes de codes dans le module userform et met ceci
VB:
Option Explicit
'Pour le formulaire
Private Sub UserForm_Initialize()
    With ComboBox1
        .List = Range("Tableau1").ListObject.ListColumns(1).Range.Value
        .RemoveItem (0)
    End With
End Sub

'Pour la liste déroulante Code client
Private Sub ComboBox1_Change()
    Dim x&
    If ComboBox1.ListIndex = -1 Then Exit Sub
    x = ComboBox1.ListIndex + 1
    With Range("Tableau1").Rows(x)
        TextBox1 = .Cells(1, 2): TextBox2 = .Cells(1, 3)
        TextBox3 = .Cells(1, 4): TextBox4 = .Cells(1, 5)
        TextBox5 = .Cells(1, 6)
    End With
End Sub

'Pour le bouton Nouveau Client
Private Sub CommandButton1_Click()
    Dim r
    If...

patricktoulon

XLDnaute Barbatruc
Bonjour
vire moi tout les bribes de codes dans le module userform et met ceci
VB:
Option Explicit
'Pour le formulaire
Private Sub UserForm_Initialize()
    With ComboBox1
        .List = Range("Tableau1").ListObject.ListColumns(1).Range.Value
        .RemoveItem (0)
    End With
End Sub

'Pour la liste déroulante Code client
Private Sub ComboBox1_Change()
    Dim x&
    If ComboBox1.ListIndex = -1 Then Exit Sub
    x = ComboBox1.ListIndex + 1
    With Range("Tableau1").Rows(x)
        TextBox1 = .Cells(1, 2): TextBox2 = .Cells(1, 3)
        TextBox3 = .Cells(1, 4): TextBox4 = .Cells(1, 5)
        TextBox5 = .Cells(1, 6)
    End With
End Sub

'Pour le bouton Nouveau Client
Private Sub CommandButton1_Click()
    Dim r
    If ComboBox1.ListIndex > -1 Then Exit Sub    'pour ne pas ajouter un client deja existant
    Set r = Range("Tableau1").ListObject.ListRows.Add.Range
    r.Value = Array(ComboBox1, TextBox1, TextBox2, TextBox3, TextBox4, TextBox5)
End Sub

'Pour le bouton Modifier
Private Sub CommandButton2_Click()
    Dim r, x
    If ComboBox1.ListIndex = -1 Then Exit Sub    'si pas de selection dans la combo le bouton ne fait rien
    x = ComboBox1.ListIndex + 1
    Set r = Range("Tableau1").ListObject.ListRows(x).Range
    r.Value = Array(ComboBox1, TextBox1, TextBox2, TextBox3, TextBox4, TextBox5)
End Sub

'Pour  le bouton quitter

Private Sub Comandbotton3_click()
    Unload Me
End Sub

@ plus
et frime pas trop quand même hein y en a bien un qui serait capable de te demander de lui expliquer le code LOL!!!!!
 

FooFighters82

XLDnaute Nouveau
Hello Patrick
un GRAND merci à toi c'est top !
par contre le bouton quitter ne fonctionne pas sur le formulaire et, y a t'il une possibilité d'afficher le code barre de la colonne F dans le formulaire ? (j'ai installé une police spécifique que j'utilise sur la colonne F afin d'afficher un code barre).
(mdr pour l'explication y a pas de risque)
Merci
 

Pièces jointes

  • Fabricant test.xlsm
    23.9 KB · Affichages: 10
Dernière édition:

Deadpool_CC

XLDnaute Accro
Bonjour,
essaye simplement d'appliquer la bonne police (et la taille de police) à ta textebox5
1656001277285.png

1656001439131.png
 

Discussions similaires

Réponses
20
Affichages
827