Inputbox qui s'ouvre 3 fois au lieu d'une...
Résolu/Fermé
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
-
14 oct. 2013 à 14:22
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 14 oct. 2013 à 17:37
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 14 oct. 2013 à 17:37
A voir également:
- Inputbox qui s'ouvre 3 fois au lieu d'une...
- Trouver un lieu avec coordonnées gps - Guide
- Site paiement plusieur fois carte nickel forum - Forum Consommation & Internet
- :3 smiley ✓ - Forum Mail
- Qu'est ce qu'une femme fait 3 fois par jour et un homme une fois dans sa vie - Forum Loisirs / Divertissements
- Picasa 3 - Télécharger - Albums photo
10 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
Modifié par melanie1324 le 14/10/2013 à 14:38
Modifié par melanie1324 le 14/10/2013 à 14:38
Bonjour,
Pour mieux comprendre, appuies sur F8 (pas à pas détaillé), tu verras comment ta macro fonctionne
Ton inputbox s'ouvre 3 fois parce que tu lui demandes 3 fois de s'ouvrir :
'de i = 0 jusqu'à 2
For i = 0 To 2 'je fais tourner mon bazarre sur les lignes 1 a 3 de la plage. cad la ligne 0 a 2 dans la listbox
'si ListBox_Device.Selected(i) a pour valeur vraie pour i =0, pour i = 1, pour i =2
If ListBox_Device.Selected(i) = True Then
'alors tu fais apparaître toon inputbox si pour i=0, i=1, i=2 si ListBox_Device.Selected(0), ListBox_Device.Selected(1), ListBox_Device.Selected(2) sont vrais
InputBox_Result = InputBox(ListBox_Device.Value & " ?", "") '
Pour mieux comprendre, appuies sur F8 (pas à pas détaillé), tu verras comment ta macro fonctionne
Ton inputbox s'ouvre 3 fois parce que tu lui demandes 3 fois de s'ouvrir :
'de i = 0 jusqu'à 2
For i = 0 To 2 'je fais tourner mon bazarre sur les lignes 1 a 3 de la plage. cad la ligne 0 a 2 dans la listbox
'si ListBox_Device.Selected(i) a pour valeur vraie pour i =0, pour i = 1, pour i =2
If ListBox_Device.Selected(i) = True Then
'alors tu fais apparaître toon inputbox si pour i=0, i=1, i=2 si ListBox_Device.Selected(0), ListBox_Device.Selected(1), ListBox_Device.Selected(2) sont vrais
InputBox_Result = InputBox(ListBox_Device.Value & " ?", "") '
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
14 oct. 2013 à 14:57
14 oct. 2013 à 14:57
merci pour ta reponse!
je viens d'utiliser f8 (merci pour ce conseil d'ailleurs).
effectivement je boucle 3 fois sur mon inputbox, mais en revenant a chaque fois au debut de ma routine, ce qui est assez bizarre! (non?)
en revanche je n'arrive pas a bien comprendre la suite de ton post: il ne faudrait pas que j'index ListBox_Device.Selected() avec le i de ma boucle?
comment je peux balayer mes 3 lignes si je ne le fais pas?
je viens d'utiliser f8 (merci pour ce conseil d'ailleurs).
effectivement je boucle 3 fois sur mon inputbox, mais en revenant a chaque fois au debut de ma routine, ce qui est assez bizarre! (non?)
en revanche je n'arrive pas a bien comprendre la suite de ton post: il ne faudrait pas que j'index ListBox_Device.Selected() avec le i de ma boucle?
comment je peux balayer mes 3 lignes si je ne le fais pas?
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
14 oct. 2013 à 15:07
14 oct. 2013 à 15:07
Bonjour,
Je ne sais pas ce que tu veux faire. Donc sans ca je ne peux pas te dire.
Tu demandais pourquoi ton inputbox apparaissait 3 fois.
Tu utilises une boucle qui balaie 3 lignes différentes :
for i=0 to 2
Maintenant la question est quelles est ou quelles sont les conditions que tu veux pour qu'apparaisse ton inputbox?
En gros, quel est le but de ton code?
Je ne sais pas ce que tu veux faire. Donc sans ca je ne peux pas te dire.
Tu demandais pourquoi ton inputbox apparaissait 3 fois.
Tu utilises une boucle qui balaie 3 lignes différentes :
for i=0 to 2
Maintenant la question est quelles est ou quelles sont les conditions que tu veux pour qu'apparaisse ton inputbox?
En gros, quel est le but de ton code?
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
Modifié par jeanphy_ le 14/10/2013 à 15:28
Modifié par jeanphy_ le 14/10/2013 à 15:28
je veux que lorsque l'utilisateur clic sur l'une des 3 lignes de la combobox, soit affichee un inputbox. une fois que cette box et remplie et validee par l'utilisateur, je veux ecrire son contenue sur la ligne correspondante de la plage dont est issu ma combobox.
edit:
voici mon fichier epure des autres fonctions
pour lancer l'userform voulu il faut clicker sur le bouton adequate a droite
https://www.fichier-xls.fr/2013/10/14/test-system-configurator/
edit 2:
lorsque je mets une msgbox juste avant mon inputbox pour afficher la valeur de i, il reste bien identique au numero de la ligne selectionnee dans la combo ,les 3 fois que l'inputbox s'ouvre...
edit:
voici mon fichier epure des autres fonctions
pour lancer l'userform voulu il faut clicker sur le bouton adequate a droite
https://www.fichier-xls.fr/2013/10/14/test-system-configurator/
edit 2:
lorsque je mets une msgbox juste avant mon inputbox pour afficher la valeur de i, il reste bien identique au numero de la ligne selectionnee dans la combo ,les 3 fois que l'inputbox s'ouvre...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
14 oct. 2013 à 16:00
14 oct. 2013 à 16:00
Bonjour,
Y a un truc que je ne pige pas, c'est lorsque la macro passe sur la ligne suivante, elle recommence du début :
Worksheets("MMF Configurator").Range("ListBox_Range_Step1").Cells(i + 1, 2).Value = InputBox_Result
Quel est le lien entre ton userform et la plage qui s'appelle ListBox_Range_Step1 ?
Car on dirait que dès qu'il écrit sur cette plage, il comprend qu'il faut relancer la macro. J'avoue que je suis dépassée sur ce coup là.
Y a un truc que je ne pige pas, c'est lorsque la macro passe sur la ligne suivante, elle recommence du début :
Worksheets("MMF Configurator").Range("ListBox_Range_Step1").Cells(i + 1, 2).Value = InputBox_Result
Quel est le lien entre ton userform et la plage qui s'appelle ListBox_Range_Step1 ?
Car on dirait que dès qu'il écrit sur cette plage, il comprend qu'il faut relancer la macro. J'avoue que je suis dépassée sur ce coup là.
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
14 oct. 2013 à 16:06
14 oct. 2013 à 16:06
le lien entre les deux?!
heu aucun normalement: ma plage est une plage statique definie a la main sur la feuille excel (on peut la voir dans le fichier excel que j'ai charge). et l'userform est cree... comme un userform? ^^ je ne vois pas trop quoi dire dessus desole :/
je vais essayer avec une autre plage pour voir...
heu aucun normalement: ma plage est une plage statique definie a la main sur la feuille excel (on peut la voir dans le fichier excel que j'ai charge). et l'userform est cree... comme un userform? ^^ je ne vois pas trop quoi dire dessus desole :/
je vais essayer avec une autre plage pour voir...
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
14 oct. 2013 à 16:11
14 oct. 2013 à 16:11
mon code marche nikel avec une autre plage...
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
14 oct. 2013 à 16:13
14 oct. 2013 à 16:13
excel ne doit pas apprecier que j'ecrive sur la plage dont il se sert pour afficher la combo :/
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
14 oct. 2013 à 16:19
14 oct. 2013 à 16:19
bon j'ai résolu le pb mais je sais pas si ca va te convenir :
https://www.cjoint.com/?CJoqqi9vEDk
Regarde si ca peut aller
https://www.cjoint.com/?CJoqqi9vEDk
Regarde si ca peut aller
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
14 oct. 2013 à 16:35
14 oct. 2013 à 16:35
je dois avoir plus de merde que je ne pensais dans mon code, ta solution ne marche pas dans mon fichier complet...
ce que je vais faire vu que je sais que mon code marche pour n'importe quelle autre plage, je vais bidouiller comme ca!
merci pour ton aide en tout cas :)
ce que je vais faire vu que je sais que mon code marche pour n'importe quelle autre plage, je vais bidouiller comme ca!
merci pour ton aide en tout cas :)
jeanphy_
Messages postés
8
Date d'inscription
lundi 14 octobre 2013
Statut
Membre
Dernière intervention
14 octobre 2013
14 oct. 2013 à 16:42
14 oct. 2013 à 16:42
je viens de separer en deux ma plage de maniere a ne pas ecrire dans la plage dont j'ai recupere les donnees pour les afficher dans la combo.
miracle ca marche!!
et une journee de perdue pour une connerie, une! XD
merci pour ton aide melanie :)
miracle ca marche!!
et une journee de perdue pour une connerie, une! XD
merci pour ton aide melanie :)
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
14 oct. 2013 à 17:37
14 oct. 2013 à 17:37
de rien mais je ne comprenais pas non plus.
Peux-tu mettre le pb en résolu stp (en dessous du titre)
Peux-tu mettre le pb en résolu stp (en dessous du titre)