imput box & combobox - VB/VBA/VBS - Programmation
Marsh Posté le 10-03-2006 à 12:25:07
bonjour,
N'ayant pas de retour et par habitude du site, cela doit venir d'un manque de données ou d'une question mal posées? je pense cependant qu'il doit y avoir un truc
quand est il ?
en attendant bon ap
A+
Marsh Posté le 10-03-2006 à 14:16:09
Code :
|
Marsh Posté le 10-03-2006 à 14:59:45
merci pour la reponse,
cependant il doit y avoir une erreur de frappe, parceque en utilisant la syntaxe donnée, je bloque sur input box qui attend quelque chose.
j'ai mis un = entre Cbotuyau.AddItem et input box mais la j'ai aussi une erreur de compilation.
quel serait l'erreur de syntaxe ?
merci encore
voici le prog
dim n as integer
dim val as string
n = 1
Do While Not (IsEmpty(ActiveCell))
Cbotuyau.AddItem = InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
val = Cbotuyau.Value
Worksheets("database" ).Range("d2" ).Offset(n, 0) = val
n = n + 1
ActiveCell.Offset(1, 0).Activate
Loop
Marsh Posté le 10-03-2006 à 20:06:02
visiblement en cherchant sur d'autres sites, il semble que cela n'est pas possible ou bien un génie!
on peut me confirmer ?
Marsh Posté le 10-03-2006 à 21:45:09
Bonjour,
Il faut mettre comme acecel l'a indiqué
Cbotuyau.AddItem InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
et non pas :
Cbotuyau.AddItem = InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
Ensuite il faudra selectionner la valeur ajoutée dans la Combo. Dans ces conditions, il vaut mieux écrire :
tmp = InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
Cbotuyau.AddItem tmp
Cbotuyau.Value = tmp
val = Cbotuyau.Value
Worksheets("database" ).Range("d2" ).Offset(n, 0) = val
Finalementrs pourquoi passer par un combo si val est déterminé par inputbox et mettre simplement :
val= InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
Worksheets("database" ).Range("d2" ).Offset(n, 0) = val
A+
Epéna
Marsh Posté le 10-03-2006 à 23:22:14
Epena a écrit : Bonjour, |
En gros tu as resumé ce que j'allais répondre (mais j'ai du quitter mon pc )
Marsh Posté le 11-03-2006 à 10:05:27
merci pour vos réponses à vous deux, mais il semble que je n'ai pas été bien clair.
Evidemment je pourrais écrire directemement
val= InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
Worksheets("database" ).Range("d2" ).Offset(n, 0) = val
mais je ne souhaite pas que l'utilisateur entre ce qu'il veut et qu'il est le choix juste avec les données d'une combobox auparavant remplie (voila l'intérêt de la combobox) Par la suite en fonction de la réponse je calcul différente valeur, je souhaite donc aucune erreur d'orthographe.
Cela change la donne et j'espère avoir été plus clair et désolé de ne pas y avoir été avant.
Donc, je ne suis même pas sur que input box soit le meilleur choix, moi ce qui m'mporte c'est de pourvoir passer d'une ligne à l'autre (jusqu'a atteindre une ligne vide) puis de poser une question et d'inscrire le résultat dans une autre colonne.
Je rempli ainsi mon tableau.
Lorsque j'utilise la
Do While Not (IsEmpty(ActiveCell))
le problème est que si je ne pose pas une question type input box ou msgbox vba ne s'arrête pas et je n'ai pas la main pour rentrer mes valeurs à slectionner dans la combobox.
voila, mais merci encore et peut être que la solution vous paraitra tout aussi évidente mais moi je vois pas!
Marsh Posté le 09-03-2006 à 19:57:29
bonsoir,
Voici encore des interrogations, peut-on envisager que la réponse d'une imput box soit récupérée via une combobox.
Je souhaite en effet pour différente ligne poser une question et sélectionner la réponse dans une combobox
alors j'ai un truc de ce type utilisant imputbox pour arrêter ma boucle et attendre une réponse:
Range("A2" ).Activate
Do While Not (IsEmpty(ActiveCell))
' Ici j voudrais poser via imput box, ou autre , ma question et récupérer ma réponse dans ma combobox (Cbotuyau) initialisée auparavat. Comment faire?
'InputBox("type de tuyau pour la jonction" & Str(n), "type tuyau" )
Range("d2" ).Offset(n, 0) = val
n = n + 1
ActiveCell.Offset(1, 0).Activate
Loop
dans cette boucle je passe bien d'une ligne à l'autre mais comment interrompre la boucle pour aller lire et récupérer le resultat de ma combobox?
voila en espérant avoir était clair.
a bientôt