Bonjour tout le monde,
Alors voilà, je suis nouveau, je suis novice en VBA, je comprend un peu le fonctionnement mais ça reste très limité.... généralement je prend des bouts de codes par ci par là et je parviens (non sans difficultés) à les utiliser comme je veux.
Ce que je veux faire :
A partir d'une feuille, l'utilisateur du fichier clique sur un bouton qui lui ouvre un UserForm avec dedans une textbox et une listbox. Il tape le début du nom d'un fournisseur et la sélection des fournisseurs possibles s'affiche dans la listbox en dessous. L'utilisateur clic dessus et le nom du fournisseur est reporté sur la feuille Excel Active en A1 (par exemple)...puis il recommence avec un autre, et celui ci se met en A2...etc
Pour l'instant :
Le code qui sélectionne les fournisseurs au fur et à mesure de la frappe et les affiche dans la listbox fonctionne, c'est l'action qui est faite lors du clic de l'utilisateur sur le fournisseur qu'il faut adapter. D'origine le fait de cliquer sur le fournisseur ramène juste sur la cellule ou est entré son nom.
Code utilisé :
Voilà, j'espère que je me suis exprimé assez clairement vous pourrez m'aider à adapter ce code pour en faire ce que je veux. C'est un vrai cadeau de noel ^^ !
Alors voilà, je suis nouveau, je suis novice en VBA, je comprend un peu le fonctionnement mais ça reste très limité.... généralement je prend des bouts de codes par ci par là et je parviens (non sans difficultés) à les utiliser comme je veux.
Ce que je veux faire :
A partir d'une feuille, l'utilisateur du fichier clique sur un bouton qui lui ouvre un UserForm avec dedans une textbox et une listbox. Il tape le début du nom d'un fournisseur et la sélection des fournisseurs possibles s'affiche dans la listbox en dessous. L'utilisateur clic dessus et le nom du fournisseur est reporté sur la feuille Excel Active en A1 (par exemple)...puis il recommence avec un autre, et celui ci se met en A2...etc
Pour l'instant :
Le code qui sélectionne les fournisseurs au fur et à mesure de la frappe et les affiche dans la listbox fonctionne, c'est l'action qui est faite lors du clic de l'utilisateur sur le fournisseur qu'il faut adapter. D'origine le fait de cliquer sur le fournisseur ramène juste sur la cellule ou est entré son nom.
Code utilisé :
VB:
--------------------
Sub ListBox1_Click()
On Error Resume Next
With ListBox1
Cells(.List(.ListIndex, 1), 1).Select
End With
Unload Me
End Sub
------------------------------
Sub TextBox1_Change()
Dim Plage As Range, Cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Integer
Dim C As Object
ListBox1.Clear
Recherche = TextBox1.Value
Range("a1").Select
Ligne = Sheets("source").Range("A" & "65536").End(xlUp).Row
Set Plage = Sheets("source").Range("A" & "2:" & "A" & Ligne)
With Plage
Set C = .Find(Recherche)
If Not C Is Nothing Then
Adresse = C.Address
Do
If UCase(Recherche) = UCase(Left(C, Len(Recherche))) Then
With ListBox1
.AddItem C '
.List(.ListCount - 1, 1) = C.Row 'Ajout mDF
End With
End If
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With
End Sub
Voilà, j'espère que je me suis exprimé assez clairement vous pourrez m'aider à adapter ce code pour en faire ce que je veux. C'est un vrai cadeau de noel ^^ !
Pièces jointes
Dernière édition: