kartouche04
Messages postés10Date d'inscriptionmardi 11 novembre 2008StatutMembreDernière intervention15 novembre 2008
-
11 nov. 2008 à 21:37
DidierLoche
Messages postés33Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention25 novembre 2008
-
15 nov. 2008 à 13:00
Bonjour, je vous explique mon problème.
Dans un userform, je choisi un nom de produit dans une liste déroulante, puis je détermine la quantité des produits sous ensemble qu'il faut pour fabriquer ce produit, donc je tape dans un textbox la quantité, et je choisi le produit intermédiaire. J'aimerai que la quantité saisie rentre dans un tableau excel sous forme de double entrée.
Pouvez-vous m'éguiller?Cela est-il possible?Qu'elle fonction puis-je utiliser?
Merci de votre aide
DidierLoche
Messages postés33Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention25 novembre 20081 14 nov. 2008 à 19:48
Bonsoir,
Qu'appelles-tu "double entrée ?" Tu peux saisir la quantité avec une textbox et un macro inscit cette quantité dans une cellule précise mais tu veux aussi pouvoir entrer directement la valeur dans la même cellule, c'est ça ? Si oui, ben oui tu peux !
kartouche04
Messages postés10Date d'inscriptionmardi 11 novembre 2008StatutMembreDernière intervention15 novembre 2008 15 nov. 2008 à 01:10
Bonsoir,
Double entrée veux dire qu'en ordonnée, j'ai quelque chose et en abscisse aussi. Dans un user je choisi une valeur en ordonnée grace a une liste déroulante puis grace à une autre liste déroulante je choisi une valeur en abscisse. Et j'aimerai qu'à l'intersection de ces deux valeurs, il s'insère une valeur que j'ai inscrit dans un textbox.
Merci
Bonne soirée.
DidierLoche
Messages postés33Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention25 novembre 20081 15 nov. 2008 à 13:00
Bonjour,
Ok, je pense avoir compris.
Je fais l'hypothèse que tes produits sont dans la colonne A à partir de la ligne 2 et que tes produits élémentaires dans dans la ligne 1 à partir de la colonne 2.
Tu créés un UserForm dans lequel tu as deux zones de liste modifiables (ComboBox1 et ComboBox2), une zone de texte (TextBox1), un bouton "OK" et un bouton "Annuler".
Voilà le code :
Dim OK As Boolean
Sub remplissage()
Dim li As Integer, co As Integer
Dim CB1 As String, CB2 As String
initialisation_Userform
UserForm1.Show
If OK Then
If UserForm1.TextBox1 <> "" Then
CB1 = UserForm1.ComboBox1.Value
li = Columns(1).Find(CB1, Cells(1, 1)).Row
CB2 = UserForm1.ComboBox2.Value
co = Rows(1).Find(CB2, Cells(1, 1)).Column
Cells(li, co) = UserForm1.TextBox1.Value
End If
End If
End Sub
Sub initialisation_Userform()
Dim li As Integer, co As Integer
With UserForm1
With .ComboBox1
.Clear
li = 2
Do While Worksheets(1).Cells(li, 1) <> ""
.AddItem Worksheets(1).Cells(li, 1)
li = li + 1
Loop
End With
With .ComboBox2
.Clear
co = 2
Do While Worksheets(1).Cells(1, co) <> ""
.AddItem Worksheets(1).Cells(1, co)
co = co + 1
Loop
End With
End With
End Sub
Sub OK_true()
UserForm1.Hide
OK = True
End Sub
Private Sub OK_False()
UserForm1.Hide
OK = False
End Sub
Tu lances la macro "Remplissage". Elle lance "Initialisation_UserForm" qui comme son nom l'indique initialise la UserForm (remplit les 2 ComboBox).
En cliquant sur le bouton "OK", tu lances la macro "OK_true" et en cliquant sur "Annuler", tu lances "OK_False".
Tu peux ajouter un texte pour t'assurer que la quantité entrée est bien un nombre avant de l'inscrire dans le tableau.
Bonne journée,
Didier