Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Demande d'aide sur Userform

  • Initiateur de la discussion Initiateur de la discussion lanoe
  • Date de début Date de début

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 !

lanoe

XLDnaute Occasionnel
Bonjour le forum,

J’ai sur ma feuille en colonne B une liste de produits, je désire faire correspondre un numéro de lot à chaque produit en colonne C.

Mais certains produits ont le même numéro de lot, je cherche donc une solution pour compléter rapidement mon tableau : je veux pouvoir changer, simultanément le numéro de lot de plusieurs produits

J’ai réalisé une tentative avec un userform (mais je ne vois pas comment faire le code) :

Les textBox 1à 8 me permettraient de rentrer le numéro de lot.
Les combobox me serviraient à déterminer à quel numéro de lot doit correspondre le produit nommé au-dessus du combo.

A priori les combobox changerons rarement, quand j’ouvre mon userform, je dois retrouver les saisies précédentes.
Les textbox ne doivent pas être remis à zéro non plus.

Le Userform n’est qu’une tentative si vous avez d’autres solutions…

Cordialement
lanoe
 

Pièces jointes

Re : Demande d'aide sur Userform

Bonsoir,

Voici une proposition de code, remplace le tout.
Le principe: choisir le ou les produits dans la listbox et écrire le lot dans le textbox.

Cré:
1- une listbox que tu nommes "Lbx_Produit" et met la propriété MultiSelect à 1.
2- un textbox que tu nommes "Tbx_Lot"
Détruit tous les comboboxs et textbox initials mais garde les boutons.

Code:
Option Explicit
Dim enregistrement As Boolean

Private Sub cmd1_Click()
If enregistrement = False Then
    Select Case MsgBox("Vous n'avez pas enregistrer vos données." _
                       & vbCrLf & "" _
                       & vbCrLf & "Voulez vous quitter ?" _
                       , vbYesNo Or vbInformation Or vbDefaultButton1, Application.Name)
        Case vbYes
        Case vbNo
            Exit Sub
    End Select
End If
Unload Me

End Sub

Private Sub CommandButton6_Click()
Dim I As Long
'on boucle sur toute la liste de la listbox
For I = 0 To Lbx_Produit.ListCount - 1
'Si le produit est sélectionné
  If Lbx_Produit.Selected(I) Then
    Sheets("Produits").Range("A" & I + 5).Value = Tbx_Lot.Value
    enregistrement = True
  End If
Next
End Sub

Private Sub UserForm_Initialize()

  Lbx_Produit.List = Sheets("Produits").Range("B5", [B5].End(xlDown)).Value
End Sub
 
Dernière édition:
Re : Demande d'aide sur Userform

Bonjour,

La solution de skoobi répond à ma demande, mais est-il possible de faire encore plus rapide (je suis un peu parresseux) avec par exemple un Chexbox qui selectionnerait automatiquement les 5 premiers produits de la liste et un 2eme qui selectionnerait le 8 et le 15?

lanoe
 

Pièces jointes

Re : Demande d'aide sur Userform

Re,

Après pas mal de recherche sur le forum j’arrive enfin à mes objectifs, en reprenant l’idée initiale désolée skoobi…

Il me reste un bout de code à faire qui ne doit pas être compliquer mais je cale.

1- J’ai des combobox numéroté de 1 à 56 je souhaite que leurs contenus se « colle » en colonne D (D5 à D61)
2- Idem pour les Textbox mais en colonne E

Merci à vous
lanoe
 

Pièces jointes

- 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

B
Réponses
9
Affichages
863
bema""
B
L
Réponses
2
Affichages
1 K
Laurent_7
L
P
Réponses
0
Affichages
840
pin_electronic
P
D
Réponses
1
Affichages
1 K
Dudesson
D
A
Réponses
5
Affichages
1 K
abrabr
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…