XL 2013 Remplir un onglet avec une liste de donnée

purpleman

XLDnaute Nouveau
Bonjour

J'ai un fichier contenant une liste et des onglets "type".
Voilà le process que je souhaite mettre en place mais mon piètre niveau en VBA ne me permet pas de le faire.

1. Créer une boite de dialogue à l'ouverture comprenant:
- Le choix de l'onglet "Type" par un menu déroulant qui peut varié si on ajoute des onglet "Type" qui sera copié.
- Le choix du nom de l'onglet "type" copié avec le nom qui se trouve dans la colonne H de l'onglet "List"

2. Une fois cet onglet crée, il faut que toutes les valeurs dans la liste qui ont en colonne H le même nom que l'onglet soient copiées à des endroits prédéfinis.

Je peux envoyer le fichier "primaire" avec la liste et les onglet "Type".

pouvez vous m'aider ? svp
Merci d'avance
 

Pièces jointes

  • JB Filling.xlsx
    71.6 KB · Affichages: 20

purpleman

XLDnaute Nouveau
Robert

Contrat rempli pour la première partie
Maintenant il ne reste plus qu'à remplir les données de la liste dans l'onglet copié.

La colonne C donne les données qui doivent être placées sur la droite des boites avec comme dénominateur commun la colonne D (colonne donnant la boite). Ensuite les autres données sont déjà mises dans l'onglet type pour te donner l'emplacement.

ET donc ce copier doit se faire pour toute la colonne H identique.

et ainsi de suite.

Je peux rappeler la boite de dialogue par un bouton pour créer un nouvel onglet grâce à la liste.

Merci de ton aide.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

La colonne C donne les données qui doivent être placées sur la droite des boites avec comme dénominateur commun la colonne D (colonne donnant la boite). Ensuite les autres données sont déjà mises dans l'onglet type pour te donner l'emplacement.

Sais-tu où je peux trouver un décodeur Purpleman / Français ?
Désolé mais toi tu as la tête dedans, et tout est clair. Moi, j'ai vaguement conscience qu'il s'agit d'électronique mais je n'ai absolument rien compris à tes explications...
 

purpleman

XLDnaute Nouveau
Ok Robert
Je te joins un exemple rempli afin que tu fasses à l'idée de comment les données doivent être mise dans le schéma. Celui-ci ensuite ne changera pas ou si il change, je pense que je serai capable de modifier ton code.

La colonne D te donne le bloc à remplir, l'exemple sera parlant je pense.
Merci de ton aide.
Purpleman
 

Pièces jointes

  • Exemple remplissage.xlsx
    32.2 KB · Affichages: 41

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Ton exemple est différent du premier !... Pas envie de coder pour rien...

Il faut que les cellules qui doivent recevoir les valeurs dans les modèles soient nommées avec le même nom que celui de la colonne Tag de l'onglet List. Ensuite il suffira de faire une boucle sur toutes les cellules de la colonne H de List et, si elle est égale au nom choisi dans la ComboBox2, on renverra la valeur dans la cellule nommée...
Dans le dernier exemple que tu as fournis, tu sélectionnes H12 et tu la nommes Data1, puis H14 et tu la nommes Data2, etc. ensuite je ferai le code.
 

purpleman

XLDnaute Nouveau
Robert
L'exemple est le même j'ai juste modifié les données de la liste pour être plus près de la réalité et bien les positionner sur l'onglet cible.
J'espère que tu pourra me faire un exemple pour le premier bloc pour que je comprenne l'histoire de ta boucle.
Merci de ton aide précieuse.
Pat
 

purpleman

XLDnaute Nouveau
Robert

Je reviens vers toi, car je ne sais pas si tu n'as pas compris mon exemple ou si tu ne veux pas me répondre ?
Je pense que l'exemple est claire car pour chaque ligne tu sais où il faut mettre la donnée.
Bloc 1 : H12 et tous les 2 (H14, H16...) jusqu'à ce que la valeur dans la colonne FJB change.
Bloc2: pareil tous les 2cellules jusqu'au changement de FJB
Bloc3: idem
Bloc4: Idem

Et cela ne pourra pas changer car la liste sera toujours faite comme cela. La colonne H (étant une sorte de clé primaire) donnant en fait tous les onglets à créer (que l'on peut choisir par ta boite de départ).

Merci de ta réponse
Patrick
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Patrick, bonjour le forum,

J'aurais envie de te dire : les deux... Non l'exemple n'est pas le même dans ton premier fichier il y a des cellules fusionnées dans les modèle et pas dans le dernier. Donc désolé mais je n'ai pas envie de perdre du temps...
 

purpleman

XLDnaute Nouveau
Robert
J'ai mis sur l'onglet T1 la formule I(List!D2="JB1";List!C2;"Spare"). Cela me renvoie bien la bonne valeur.
Donc sur toutes les lignes du bloc 1 j'ai écris cette formule incrémentée de 1 à chaque ligne. Le bloc peut avoir 12 lignes.
J'ai donc mis cette formule sur chaque endroit où je voulais la donnée.
Cela fonctionne puisque l'utilisateur devra rentrer la liste correctement avec toutes les données.

Par contre, je souhaite faire 2 fichiers excel ; La liste et les onglets type. Et qu'au final la création de l'onglet se fasse dans un 3e fichier finale. Comment je peux faire svp ?


Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 896
Messages
2 093 387
Membres
105 716
dernier inscrit
jrmdprt