XL 2021 Ajout de zones dans un USF par VBA

jeff1494

XLDnaute Occasionnel
Bonjour à toutes et tous;
Je voudrais ajouter des zones de texte et de ListBox dans un Userform à l'appui d'un bouton en VBA.
Comme le montre l’image suivante.
Concernant l'alimentation des listbox les données viennent d'un tableau structuré, et je pense réussir à le faire.

C'est plutôt la création d'un nombre de ligne (TextBox + ListBox) suivant le chiffre saisi que je ne sais pas faire .

1734276294376.png


Je remercie d'avance ceux ou celles qui auront la gentillesse de bien vouloir m'aider.
Bonne soirée à toutes et tous.
 

vgendron

XLDnaute Barbatruc
bonjour

pas compris ce que tu souhaites faire
créer un formulaire avec les controls déjà présents? comme sur ton image??
vu que tu as une image (qui ne nous sert toujours strictement à rien), tu peux sans doute poster ton fichier..??

créer un formulaire et ajouter dynamiquement les controls dessus?


tu parles de listbox.. je ne la vois pas sur ton image..
 

jeff1494

XLDnaute Occasionnel
@vgendron :
Désolé pour cette image, c'est juste pour illustrer ce que je veux faire, et je l'ai fait cela à l'arrache.
Je te prie de m'excuser si cela n’est pas clair.

Alors voilà plus d'explications.

Je suis en train de me construire un fichier qui doit me permettre de suivre les objets que je mets en vente dans un "vide-grenier permanent" à coté de chez moi.
L'idée est d'enregistrer chaque objet déposé en lui attribuant un N° et incluant dans un commentaire une miniature de cet objet, ainsi que le prix que j'en attends et donc par application d'un coefficient le prix de vente dans le vide-grenier.

J'ai déjà réalisé ce genre de fichier, mais à l'utilisation je me suis rendu compte que ce que j'avais fait n'était pas le plus ergonomique.

Donc j'ai décidé de repartir de zéro et d'incorporer de nouvelles possibilités.
Par exemple dans le ruban d'Excel j'avais rajouté un onglet "Saisie" permettant d'accéder facilement aux différentes opérations à réaliser.
Comme je reprends le tout cet onglet n'est plus valide pour l'instant. Je vais en reconstruire un nouveau.

Lors de l'ouverture du fichier, si c'est la toute première fois, j'ai une série de macros qui me permettent de saisir plusieurs paramètres ainsi que d'importer, depuis une précédente vente, ce qui n'a pas été vendu. Cela afin de remettre en vente les objets qui n'ont pas été vendus lors d'une vente précédente.

Le prestataire de service du vide-grenier m'offre la possibilité de créer un fichier reprenant des infos pour chaque objet cela lui permet d'imprimer des étiquettes pour chaque objet, en reprenant la quantité d'objet, sa désignation, et le prix de vente final.
Pour plus de portabilité j'ai décidé de pouvoir saisir les infos de ces étiquettes.

Donc j'ai un formulaire (nommé "Etiquettes") qui doit permettre de saisir des informations qui serviront à créer un tableau dans une feuille de paramètres.
Le but final est de pouvoir créer une feuille contenant des données issues de la feuille "Liste" pour à la parfin créer un fichier xls des étiquettes à éditer par le prestataire de service gérant le "vide-grenier permanent".

Dans mon fichier joint, je compte ajouter cette fonctionnalité lors de la toute première ouverture du fichier.
Attention le fichier joint a déjà été ouvert, et donc le process ne peut être exécuté.

Donc dans ce formulaire suite à la saisie d'un nombre inférieur ou égal à 5, je dois créer autant de ligne que la chiffre saisi. Chaque ligne est composée de deux éléments:
  1. Une zone représentant l'entête de la colonne du tableau structuré.
  2. La seconde zone représente le type de la donnée de la deuxième colonne. Les valeurs proviennent d'un TS ("Tbl_TYPDON")de la feuille "Params".
Ces données seront stockées dans un tableau structuré d'une feuille créée spécialement à cet effet, par macro à faire.

Je te prie de bien vouloir m'excuser si je n'ai pas été assez clair lors de ma demande initiale.
Dans tous les cas merci pour ton aide.
 

Pièces jointes

  • Vente-Vide-Grenier-V03.xlsm
    69.2 KB · Affichages: 3

jeff1494

XLDnaute Occasionnel
@cathodique :
En effet c'est une solution. J'aurai bien voulu travailler depuis VBA sur les formulaires, et donc gérer l'ajout de textbox et autres dans le formulaire.
J'ai pour habitude de me servir des mes développements pour essayer d'apprendre un peu plus à chaque fois.
C'est pour cela que j'ai fait cette demande.
En tous cas bonne soirée à toi, et merci pour ton message. il se pourrait bien que je finisse avec cette solution si je n'arrive pas à solutionner mon problème autrement.
 

jeff1494

XLDnaute Occasionnel
La saisir dans le formulaire puis la créer dans la feuille "params".
Je l'utiliserai plus tard dans une procédure spéciale, car il n'est pas sûr que le prochain gestionnaire de vide-grenier permanent offre cette possibilité.
Encore merci pour ton aide.
 

jeff1494

XLDnaute Occasionnel
Merci pour ton aide.
De ce que j'ai vu je comprends que je t'ai induis en erreur en répondant incorrectement à ta question concernant ton message 6
ce formulaire sert à créer une table de 2 colonnes de x lignes
dont les entêtes sont saisies dans ton formulaire..??
Je suis désolé, j'ai répondu beaucoup trop vite, sans prendre le temps de réfléchir à ce que tu me demandais.
En fait j'aimerais obtenir la chose suivante :

1734284482407.png


Dans le cas ou je demande "Combien de zones composent les étiquettes ?" la réponse est de 3 zones ?
Je te prie de bien vouloir m'excuser pour cette erreur qui t'a fait perdre de ton temps.

Encore merci pour ton aide.
 

vgendron

XLDnaute Barbatruc
dans la PJ
tu selectionnes le nombre de zones (=nb de colonnes) - Pas de limite.. tu peux en mettre 20 si tu veux
tu cliques sur une ligne de la listbox==> tu changes le nom de l'entete, et tu selectionnes un type

valider==> une table de "nbzones" colonnes est créée
 

Pièces jointes

  • Vente-Vide-Grenier-V03.xlsm
    79.7 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
j'ai ajouté quelque chose pour formater les colonnes de la table créée en fonction du type choisi..
et un controle pour savoir si la table existe déjà ou pas dans la feuille active (params) à améliorer pour chercher dans TOUT le classeur
et également demander à l'utilisateur l'endroit où créer la table..
sauf si tu es certain de ne créer qu'UNE seule table toujours au MEME endroit...??
 

Pièces jointes

  • Vente-Vide-Grenier-V03.xlsm
    83.3 KB · Affichages: 4

jeff1494

XLDnaute Occasionnel
@vgendron :

Un très très grand merci pour ton aide. 👍
Cela correspond à ce dont j'avais besoin. Reste juste à voir pour le nom de la table.
Je vais faire en sorte que l'utilisateur n'ai pas à le saisir.
Encore désolé de t'avoir induis en erreur avec ma réponse précipitée.

Bonne soirée, et si tu ne lis ce message que demain, bonne journée à toi.
 

Discussions similaires

Statistiques des forums

Discussions
315 083
Messages
2 116 041
Membres
112 641
dernier inscrit
chab77