userform avec fonction Vlookup

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ezrielle

XLDnaute Occasionnel
bonjour a tous,

Je viens de creer un user form dans lequel j'ai integré un combobox (nom d el'article)

Je souhaiterai qu'en fonction de la selection de l'article dans le combobox j'obtienne automatiquement le stock dispo pr cette article dans un text box.



J'ai essayé avec une recherchev par rapport a ma base de données mais cela ne marche pas.

Voici mon code:

Private Sub SAstockdispo_Change()
Dim article As Variant
Dim stock As Double
Sheets("BaseDonnées").Activate

article = SAarticle.Value

stock = WorksheetFunction.VLookup(article, Range("tableau_BaseDonnees"), 8, False)

'MsgBox "pour l'article " & article & " il reste" & stock & " pièces"

SAstockdispo.Text = stock.Value

End Sub

Merci enormement d'avance pour votre aide

Ez
 
Re : userform avec fonction Vlookup

Re bonsoir,

J'essaye maintenant de supprimer la ligne du tableau que je selectionne à l'aide de mon userform mais mon code doit certainement comporter des erreurs.


Private Sub SAsupprimer_Click()


If SAarticle.ListCount >= 1 Then

If SAarticle.ListIndex = -1 Then
SAarticle.ListIndex = _
SAarticle.ListCount - 1
End If
SAarticle.RemoveItem (SAarticle.ListIndex)
End If


End Sub

Encore merci pour votre aide

Bonne soirée

Ez
 
Re : userform avec fonction Vlookup

Merci beaucoup

c'est exactement ce que je voulais!

est ce que pour ma compréhesion personnelle tu pourrais m'expliquer le code: (je le comprend dans les grandes lignes mais pas précisément)

Private Sub SAsupprimer_Click()
If SAarticle.ListIndex = -1 Then Exit Sub
With Sheets("BaseDonnées")
.Rows(SAarticle.ListIndex + 2).EntireRow.Delete
End With
EffaceTout
IniSAarticle


End Sub

Private Sub UserForm_Initialize()
IniSAarticle

End Sub

Sub IniSAarticle()
With Sheets("BaseDonnées")
SAarticle.List = .Range("C2:C" & .Range("C65000").End(xlUp).Row).Value
End With


End Sub

Sub EffaceTout()
Dim ctl As Control
For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Then ctl = ""
If TypeName(ctl) = "ComboBox" Then ctl = ""
Next

End Sub


Merci beaucoup

C'est parfait

Ez
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

J
Réponses
2
Affichages
2 K
julien1025
J
N
Réponses
5
Affichages
1 K
nsqualli
N
Retour