VBA : Ajout d'une donnée grâce à une lisbox ?

  • Initiateur de la discussion Initiateur de la discussion Vilain
  • 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 !

Vilain

XLDnaute Accro
Bonjour à tous,

Je travaille sur un nouveau projet VBA qui dépasse largement mes compétences, je fais donc appel à vous.
J'ai un onglet qui comptabilise les différents éléments en stock. En colonne A, j'ai le type de produit (cartons enveloppes,etc...). Sur le reste de l'onglet, en intitulé de colonnes, je reprends ces éléments ainsi qu'une description (en colonne C j'ai mes cartons et en colonne D ma définition correspondante). Je souhaite créer une macro qui ouvre une boite de dialogue me demandant quel type de produit je souhaite ajouter (cartons, enveloppes etc) grâce à une liste déroulante, puis grâce à deux champs je souhaite pouvoir ajouter une référence (ex : dans carton : carton grand, dans définition : jusqu'à 5 kilos). Une fois cette boite de dialogue validée, je souhaite que le nouveau produit s'ajoute à la suite des autres (ici carton gros devra s'inscrire en C4 et la définition en D4).
Je ne sais pas comment m'y prendre...
Je joins mon exemple pour plus de clarté.

Merci d'avance.

Gillus
 

Pièces jointes

Dernière édition:
Re : VBA : Ajout d'une donnée grâce à une lisbox ?

Bonjour.
Mettez des ComboBox pour les choix des éléments (voir la saise de nouveaux) de type de produits et reliez les par un objet ComboBoxCasc. Mettez des boutons Ajouter Modifier Supprimer
Importez les modules de ce zip ou installez OutIdx et ajoutez le aux références du classeur.
Je vous donnerai d'autres instructions quand vous aurez un peu avancé.
 

Pièces jointes

Re : VBA : Ajout d'une donnée grâce à une lisbox ?

Bonjour Dranreb et merci pour l'intérêt que vous portez à mon problème.

J'ai importé les modules de ce zip mais ne comprend pas très bien ce que je pois faire par la suite.

Merci d'avance pour votre aide
 
Re : VBA : Ajout d'une donnée grâce à une lisbox ?

Salut Dranreb, Gillus69, le forum.

Je vais me pencher sur ce que tu proposes là Dranreb. Ça m'a l'air utile.
En attendant, j'ai à peu près répondu aux exigences de Gillus69.
En deux temps, car il n'a pas à toujours rentrer un nouveau produit.
 

Pièces jointes

Dernière édition:
Re : VBA : Ajout d'une donnée grâce à une lisbox ?

ce que je pois faire par la suite
Une fois définis les ComboBox servant à la fois à choisir des éléments d'identification d'un produit existant ou d'en entrer de nouveaux, spécifiez les dans des CBC.Add, CBC étant un objet déclaré WithEvents CBC As ComboBoxCasc
Vous pouvez vous inspirer de la séquence, dans le module de classe ComboBoxCasc, ce qu'il y a derrière:
#If False Then ' Séquence classique de code à implanter au début d'un userform (instructions non compilées ici)
Je vous le mettrais au point si vous voulez, si vous étoffez d'abord un peu votre userform.
Remarquez, j'ai aussi un module de classe ComboBoxLiés, si d'aventure les différentes caractéristiques devaient pouvoir se choisir dans un ordre quelconque. Il est compatible avec les autres modules. Il impliquerait juste un bouton pour pouvoir effacer tous les ComboBox afin de ré-élargir à l'ensemble le choix dans tous.
À +
 
Dernière édition:
Re : VBA : Ajout d'une donnée grâce à une lisbox ?

Bonjour,

Si... tu pouvais m'aider à comprendre ton code, ça m'aiderait bien.

Cette partie là :
Code:
          .ListItems.Add , , C
          .ListItems(.ListItems.Count).ListSubItems.Add , , C(1, 2)
        
        .ListItems.Add , , "à définir"
        .ListItems(1).ListSubItems.Add , , "à définir"
        
      .View = 3

Et celle-là :
Code:
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
    Me("TextBox" & 2) = Item
End Sub

Merci d'avance.
 
Dernière édition:
Re : VBA : Ajout d'une donnée grâce à une lisbox ?

salut

une image qui vaut un long discours 😉
ListView.jpg
 

Pièces jointes

  • ListView.jpg
    ListView.jpg
    43.3 KB · Affichages: 77
  • ListView.jpg
    ListView.jpg
    43.3 KB · Affichages: 81
  • ListView.jpg
    ListView.jpg
    43.3 KB · Affichages: 77
  • ListView.jpg
    ListView.jpg
    45.8 KB · Affichages: 104
  • ListView.jpg
    ListView.jpg
    45.8 KB · Affichages: 104
Re : VBA : Ajout d'une donnée grâce à une lisbox ?

Merci, j'y vois un peu plus clair dans le fonctionnement de la listview.

Pourquoi n'as-tu pas masqué ton Frame1 et ton Label4 en même temps que ListView1 ?
 
Dernière édition:
- 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

Réponses
4
Affichages
243
  • Question Question
Réponses
6
Affichages
671
Retour