[EXCEL] - UserForm

Fermé
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 - 6 juin 2012 à 15:44
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 - 13 juin 2012 à 17:40
Bonjour,

j'ai besoin de mettre en place une petite macro et j'ai commencé avec une InputBox mais ça ne fonctionne pas...

J'ai donc voulu faire via un UserForm, ça semble fonctionner jusqu'à l'exécution de la macro contenue dans un Module...

Je vous place les deux fichiers ici
InputBox --> http://dl.dropbox.com/u/7753799/Test_InputBox.xls
UserForm --> http://dl.dropbox.com/u/7753799/Test_UserForm.xls

Le but de cette macro sera de récupérer deux nombres entrés par un utilisateur et de créer:
- a lignes sous la ligne [Equipment Name / Equipment Model / Serial Number]
- 2 x a lignes sous la ligne [Cable Type / From Equipment Name / From Port / To Equipment Name / To Port]
- a lignes sous la ligne [Equipment / Baie / To / To port/interface]

- b lignes sous la ligne [Card Name / Card Part Number / Equipment Name / Slot if needed / Notes]

-------------------------------------------------
Le fichier InputBox fonctionne mais j'ai l'impression que l'on ne peut pas avoir deux valeurs différentes, d'où mon passage à une UserForm...

Ne regardez pas trop la forme, j'ai commencé le VBA lundi ^^ :D

Donc mon UserForm semble fonctionner jusqu'à l'appel du module, ou les lignes ne sont pas incrémentées....

J'ai deux autres soucis...
une ligne en trop est à chaque fois ajoutée
le non respect de la mise en forme

Je ne sais pas si tout est facile à comprendre mais n'hésitez pas à me poser des questions ;)

D'avance merci
Akhlan
A voir également:

13 réponses

akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
6 juin 2012 à 17:52
J'ai avancé....

https://dl.dropbox.com/u/7753799/Test_UserForm_2.xls

J'ai essayé de commenter le plus possible mon code...

La solution que j'ai apportée c'est de copier via l'UserForm les valeurs saisies par l'utilisateur sur deux cellules de mon tableau pour les récupérer depuis la macro VBA... Je ne sais pas si c'est top mais ça a le mérite de fonctionner ^^

Donc mes soucis toujours en cours sont:
- le non respect de la mise en forme de mes cellules copiées / collées
- le fait que j'ai toujours plus de lignes collées que demandé (je tente de corriger cela en remontant d'une ligne une fois les cellules copiées, infructueux pour le moment...)

N'hésitez pas à intervenir ;)
Akhlan
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 6/06/2012 à 22:43
Bonjour,
Il serait de comprendre exactement ce que vous voulez réaliser car ce n'est pas en essayant de déchiffrer les procédures que cela marchera.

En plus, pourquoi il n'est pas possible de lancer le formulaire depuis la feuille [Template] ?

Salutations.
Le Pingou
0
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
7 juin 2012 à 11:50
Salut Le Pingou,

c'est indiqué dans le premier message....

Le but de cette macro sera de récupérer deux nombres entrés par un utilisateur et de créer:
- a lignes sous la ligne [Equipment Name / Equipment Model / Serial Number]
- 2 x a lignes sous la ligne [Cable Type / From Equipment Name / From Port / To Equipment Name / To Port]
- a lignes sous la ligne [Equipment / Baie / To / To port/interface]

- b lignes sous la ligne [Card Name / Card Part Number / Equipment Name / Slot if needed / Notes]

Je vais tenter de mieux expliquer alors...

Ouvre le fichier Test_UserForm_2.xls

- Je demande à l'utilisateur de donner deux chiffres a et b
- et une fois validée, la macro copiera
- la ligne L7 et l'insérera "a" fois
- la ligne L15 et l'insérera "2xa" fois
- la ligne L25 et l'insérera a fois
- la ligne L11 et l'insérera "b" fois

Mon soucis pour cette étape est que la ligne copiée se retrouve en trop, normal... Donc il faudrait que j'arrive à indiquer à ma macro de remonter d'une ligne (enfin c'est une solution comme une autre mais je débute et je tâtonne...)

En plus, pourquoi il n'est pas possible de lancer le formulaire depuis la feuille [Template] ? <--> Je ne sais pas... Je te l'ai dit, j'ai entrepris ce projet lundi et pas d'expérience dans le VBA...

Akhlan
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
7 juin 2012 à 16:22
Bonjour,
Merci pour l'information.
Je vais voir ce qu'il est possible de réaliser dans ce sens.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
7 juin 2012 à 21:55
Bonjour,
J'espère que c'est dans le bon sens.
Votre fichier : https://www.cjoint.com/?3Fhv2xc4IDU
0
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
12 juin 2012 à 14:50
Merci Le pingou,

Comme sur mon fichier, pour chaque valeur rentrée, une ligne de plus apparait dans le tableau... Je t'ai mis deux exemples sur le second onglet de ce que je souhaite une fois les valeurs saisies...

https://dl.dropbox.com/u/7753799/Test_UserForm_3.xls

De plus, le nom des équipements sera directement récupéré depuis le champ "Staging" (si possible...)

Par contre, ta version comporte un gros défaut pour moi.... Je ne comprends pas trop ton code ^^ :D

En tout cas merci
Akhlan
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
12 juin 2012 à 22:58
Bonjour,
Eh bien, ma proposition fonctionne selon votre demande, je vous remets le lien et merci de préciser ce qui ne marche pas !
Le lien : https://www.cjoint.com/?3Fmw5R1tqbk
0
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
13 juin 2012 à 09:38
J'ai repris votre fichier et donc...

dans mon exemple, j'ai pris 2 équipements (entrée TextBox1) et 1 carte (entrée TextBox2)...

le résultat devrait être
- 2 lignes sous L6 copiées depuis L7 et issues du choix de TextBox1
- 4 lignes L17 copiées depuis L18 et issues du choix de TextBox1
- 2 lignes sous L27 copiées depuis L28 et issues du choix de TextBox1

- 1 ligne sous L12 copiée depuis L12 et issues du choix de TextBox2

Pour résumer, c'est la ligne de référence qui sert à la copie qui est de trop à chaque fois... J'ai mis dans votre fichier les lignes:
- en rouge qui ne devraient pas être présente
- en vert celles qui devraient l'être

Autre précision, les lignes de référence devront toujours être présente même si l'utilisateur indique 0 dans son choix...

J'ai aussi si mis au niveau de la plage3 un exemple avec la cellule "Cable Type" afin de voir si la copie des deux lignes L18 et L19 pouvait servir de référence car dans la grande majorité des cas, c'est ces câbles qui seront installés...

J'espère avoir été plus clair cette fois ;-)

https://dl.dropbox.com/u/7753799/Akhlan_ccm_test_userform_2_update.xls

Merci
akhlan
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 juin 2012 à 16:22
Bonjour,
Que faut-il comprendre :
Autre précision, les lignes de référence devront toujours être présentes même si l'utilisateur indique 0 dans son choix.
Salutations.
Le Pingou
0
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
13 juin 2012 à 16:43
Que par exemple, si l'utilisateur rentre
- 0 pour les équipements, la ligne L7 reste présente tout de même en dessous de [Equipment Name / Equipment Model/Serial Number]
- 0 pour les cartes, la ligne L13 reste en dessous de [Card Name / Card Part Number / Equipment Name / Slot if needed / Notes]

En gros 0 ou 1 dans n'importe quel choix de l'utilisateur laisseront une ligne...
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 juin 2012 à 10:45
Bonjour,
Merci pour les informations.
Il est impossible charger votre fichier depuis [drobox.com] en ce moment ... !
0
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
13 juin 2012 à 11:12
Service revenu ;-)
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 juin 2012 à 14:20
Bonjour,
Merci pour les informations.
Mais chez moi toujours pas !
0
akhlan Messages postés 249 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 9 novembre 2022 17
13 juin 2012 à 14:26
http://cjoint.com/12jn/BFnoAcqAwfq.htm
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 juin 2012 à 16:56
Bonjour,
Alors là c'est certain que si l'utilisateur entre [0] on ne fait rien du tout.
Par contre c'est quoi la ligne de référence ... la ligne des titres du tableau ou alors la dernière ligne qui est déjà renseignée (des valeurs présentent..) ... ?
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
13 juin 2012 à 17:40
Bonjour,
En attendant la suite, cette exemple reproduit exactement ce que vous avez voulu créer avec votre procédure en tenant compte des valeurs entrées dans le formulaire d'entré.
Exemple : https://www.cjoint.com/?3FnrNW6Ep0H
0