Modifier la saisie d'une valeur dans la liste déroulante en cliquant sur un bout

Résolu
cs_MAMuing Messages postés 7 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 3 janvier 2009 - 30 déc. 2008 à 14:53
cs_MAMuing Messages postés 7 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 3 janvier 2009 - 1 janv. 2009 à 23:13
Bonjour à tous,
avant tout je voulais me présenter, je suis en 3eme année et j'ai un projet à rendre pour la rentrée janvier 2009
mon probleme est le suivant :
Comment pourrais je suivant la saisie d'une ligne de la liste déroulante, afficher ce texte dans un label

j'illustre :

j'aurais donc voulu que
- quand je clique sur une des lignes de ma liste déroulante et qu'ensuite je clique sur le bouton modifier :
en label1 on trouve "menu maxi best of"
en label2 : nuggets x6 ...etc
SACHANT qu'a chaque fois que j' "AJOUTER" une commande elle s'affiche sur une feuille excel  (image sous la programmation VBA)

donc le but est de modifier une des commande et ainsi pouvoir la rechanger  et quand je cliquerai sur "ajouter" cela modifiera l'ancienne commande ca l'ecrasera

merci pour voitre aide
si je ne suis pas clair posez moi des questions sur le fonctionnement de mon programme

MERCI j'attends vos reponses

11 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
31 déc. 2008 à 15:00
Salut,

Désolé, je croyais que tu étais en train de coder en VB.NET et non en VBA.

Enfin, quoi qu'il en soit, voici l'équivalent du code en VBA que j'ai donné ci-dessus  :

Note : Sur ta Form, je vois un bouton Modifier, tu doubles-clic dessus et tu devrais avoir l'évènement suivant qui apparait :


Private Sub
btnmodifier_Click()


End Sub




et tu colles dans l'évènementbtnmodifier_Click() le code ci-dessous

<hr size= "2" width="100%" />







Dim
 MenuModif() As String

MenuModif  = Split(ListBox1.Value,  "-" )

For nb  =   0  To UBound(MenuModif)
     If Mid(MenuModif(nb), 11)  =   " "  Then
          MenuModif(nb)  =  Replace(MenuModif(nb), " """,  1 , 1)
     End If
     If Mid(MenuModif(nb), Len(MenuModif(nb)) - 11)  =   " "  Then
          MenuModif(nb)  =  Replace(MenuModif(nb), " """, Len(MenuModif(nb)) -  1 , 1)
     End If
Next

Label1.Caption  = MenuModif(0)
Label2.Caption =  MenuModif( 1 )
Label3.Caption  = MenuModif(2)
Label4.Caption =  MenuModif( 3 )







<hr size ="2" width="100%" />
++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
3
bigou87 Messages postés 32 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 15 janvier 2009
30 déc. 2008 à 15:06
Bonjour , excuse moi mais je n'est pas tout compris ^^. Gardons ton exemple avec le MENU MAXI BEST OF. Quand tu sélectionne ce menu dans la liste et que tu  cliques sur modifier :
label1 = Menu maxi best of
label2 = nuggets x6
label3 = tite salalde
label4 = coca zero

Jusque  là rien d'exceptionnel  c'est ce que tu as écrit mais ensuite je comprends pas ce que tu veux modifier précisément ! La ligne menu maxi best of corespond à une commande que tu est en train de passer ? Et tu veux pouvoir la modifer si par exemple un client veut modifier ce qu'il a demandé ?

BIGU87
0
cs_MAMuing Messages postés 7 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 3 janvier 2009
30 déc. 2008 à 15:12
je t'explique comment mon programme marche

1- on clique le menu, ensuite le sandwich, l'accompagnement et enfin la boisson
2- on appuie sur le bouton ajouter :
   ceci engandre sur une feuille excel (en bas) la commande
  elle ajoute aussi dans la combobox la commande en entier issue de la feuille excel

maintenant imaginons un client veuille modifier une de ces commande je voudrais donc que en cliquant sur l'un de ses menus, et ensuite sur le bouton "MODIFIER"  ce menu cliqué (de la combobox) apparaisse dans les différents labels ( a leur bonne place)
label 1 = menu
label 2 = sandwich
label 3 = accompagnement
label 4 = boisson

est ce plus clair?

merci pour ta reponse aussi rpide
0
bigou87 Messages postés 32 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 15 janvier 2009
30 déc. 2008 à 15:16
Merci de la précision ! Ne peux tu tout simplement ajouter la référence excel a ton projet Vb pour pouvoir controler excel ? Il te suffirais ensuite d'inclure dans le code du bouton modifier les lignes de code qui retrouve la ligne correspondant a ta commande ; et les lignes modifiant la valeur des labels .

BIGU87
0

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

Posez votre question
cs_MAMuing Messages postés 7 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 3 janvier 2009
30 déc. 2008 à 15:59
je sais pas si je reponds a ta question
mais en fait les informations dans la listbox1 sont issues de ma feuille excel
quand j'appuie sur "AJOUTER" toutes les infos se copient tout d'abord sur une feuille excel puis les infos de cette feuilles excel se rajoutent a la listbox,

je voudrais (dsl de me repeter) avoir un code qui me permettrais de suivant l'un des menu selectionné dans la listbox, pouvoir la modifier

plus concretement imaginons je veuille modifier
le menu "maxi best of - nuggets x6 - tite salade - cola zero"
en selectionnant cette ligne puis en cliquant sur le bouton "MODIFIER",
le menu va réapparaitre a leur bonne place ds les différents label (expliquée dans ma réponse précédente)

donc cela est il possible?*
merci
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
30 déc. 2008 à 21:45
Salut,

Voici comment faire (à mettre dans l'èvènement Click de ton bouton Modifier)


<hr size= "2" width="100%" />







Dim
 MenuModif() As String
Dim MenuLabel As New System.Collections.Generic.List(Of Label)

' On ajoute les 4 labels dans la collection
MenuLabel.AddRange(New Label() {Label1, Label2, Label3, Label4})

' ici, on récupère la valeur de l'item sélectionné dans ComboBox1
' (Le menu à modifier)
'
' ComboBox1.SelectedItem.ToString.Split("-") va séparer la chaîne
' de départ en plusieurs sous chaînes cela par rapport au symbole -
'
' Exemple :
' ComboBox1.SelectedItem.ToString  = Menu Maxi Best Of - Nuggets x6 - Tite Salade - Coca Zero
' En faisant :
' MenuModif =  ComboBox1.SelectedItem.ToString.Split("-")
' On obtient :
' MenuModif(0) = "Menu Maxi Best Of "
' MenuModif(1) = " Nuggets x6 "
' MenuModif(2) = " Tite Salade "
' MenuModif(3) = " Coca Zero"
' MenuModif = ComboBox1.SelectedItem.ToString.Split("-")

' Mise en forme, on supprime les espaces superflu
' Boucle sur tous les items de MenuModif
For  nb As Integer  = 0 To MenuModif.Count - 1
     ' On vérifie si le 1° caractère est un espace
     If MenuModif(nb).Substring(01) =   " "   Then
          ' Si oui, on le supprime
          MenuModif(nb)  = MenuModif(nb).Remove(01)
     End If
     ' On vérifie si le dernier caractère est un espace
     If MenuModif(nb).Substring(MenuModif(nb).Length - 11) =   " "   Then
          ' Si oui, on le supprime
          MenuModif(nb)  = MenuModif(nb).Remove(MenuModif(nb).Length - 11)
     End If

Next

' Boucle sur les 4 Labels
For nb As Integer =   0  To MenuLabel.Count - 1
     ' On met chaque item de MenuModif dans un Label
     ' m(0) >>> Label1
     ' m(1) >>> Label2
     ' m(2) >>> Label3
     ' m(3) >>> Label4
     MenuLabel(nb).Text  = MenuModif(nb)
Next






<hr size="2" width="100%" />
++

Fauve

<hr size="2" width="100%" />
Pensez : Réponse Acceptée 
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
30 déc. 2008 à 21:48
Oups, mon programme de coloration a un peu merdouillé

Voici le bon :

Dim MenuModif() As String
Dim MenuLabel As New System.Collections.Generic.List(Of Label)

' On ajoute les 4 labels dans la collection
MenuLabel.AddRange(New Label() {Label1, Label2, Label3, Label4})

' ici, on récupère la valeur de l'item sélectionné dans ComboBox1
' (Le menu à modifier)
'
' ComboBox1.SelectedItem.ToString.Split("-") va séparer la chaîne
' de départ en plusieurs sous chaînes cela par rapport au symbole -
'
' Exemple :
' ComboBox1.SelectedItem.ToString =  Menu Maxi Best Of - Nuggets x6 - Tite Salade - Coca Zero
' En faisant :
' MenuModif = ComboBox1.SelectedItem.ToString.Split("-")
' On obtient :
' MenuModif(0) = "Menu Maxi Best Of "
' MenuModif(1) = " Nuggets x6 "
' MenuModif(2) = " Tite Salade "
' MenuModif(3) = " Coca Zero"
MenuModif = ComboBox1.SelectedItem.ToString.Split( "-" )

' Mise en forme, on supprime les espaces superflu
' Boucle sur tous les items de MenuModif
For  nb As Integer  = 0 To MenuModif.Count - 1
     ' On vérifie si le 1° caractère est un espace
     If MenuModif(nb).Substring(01) =   " "   Then
          ' Si oui, on le supprime
          MenuModif(nb)  = MenuModif(nb).Remove(01)
     End If
     ' On vérifie si le dernier caractère est un espace
     If MenuModif(nb).Substring(MenuModif(nb).Length - 11) =   " "   Then
          ' Si oui, on le supprime
          MenuModif(nb)  = MenuModif(nb).Remove(MenuModif(nb).Length - 11)
     End If

Next

' Boucle sur les 4 Labels
For nb As Integer =   0  To MenuLabel.Count - 1
     ' On met chaque item de MenuModif dans un Label
     ' m(0) >>> Label1
     ' m(1) >>> Label2
     ' m(2) >>> Label3
     ' m(3) >>> Label4
     MenuLabel(nb).Text  = MenuModif(nb)
Next

<hr size="2" width="100%" />Pensez : Réponse Acceptée 
0
cs_MAMuing Messages postés 7 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 3 janvier 2009
30 déc. 2008 à 22:27
merci du fond du coeur fauve pour ta réponse et ta contribution
mais je n'arrive pas a adapter mon vba a tes lignes de programmation

serait il possible que tu jetes un coup d'oeil a mon projet si ce n'est aps trop te demander
j'me suis lancé dans un projet qui dépasse mes capacités mais il me tenait a coeur (étant donné que je suis saisonnié a mcdo!)

sinon tu me dit quels mots changer :
mon bouton modifier s'apelle "btnmodifier"
label1 = labelmenu
label2 = labelsandwich
label3 = labelaccomp
label4 = labelboisson

sinon le top serait que tu m'envoies ton adresse email,
meme si je ne voudrais pas trop que mon projet se partage a tous tu me comprendras :p


Donc normalement ton code s'il marchait au top :
il suffirait que je clique sur un des menu deja enregistré dans la combobox,
j'appuie sur "modifier"
ce menu réapparaitra dans les différents label
et en cliquant sur un des boutons a gauche, les labels changeront automatiquement?

Bonne soiree
surtout si tes occupé prends ton temps réveillonne :)

MERCI!!!
0
bigou87 Messages postés 32 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 15 janvier 2009
31 déc. 2008 à 13:16
Essaye sa ( à modifier selon les noms des labels etc ) :

Pour ton bouton modifier :

        Dim numCom ' Numero de la commande représenté par son index dans la Combobox
        numCom = ComboBox1.SelectedIndex
        Dim numComExcel ' Numero de la ligne ou se trouve la commande dans le tableau Excel qui est egal a l'index de l'item
        numComExcel = numCom + 2 ' selectionné plus 2 car il y a ici deux lignes de décalage entre les index et les lignes du tableau
        Dim menu = wbExcel.Worksheets(1).range("A" & numComExcel).value() ' On récupere la valeur de la cellule correspondante
        Dim sandwhich = wbExcel.Worksheets(1).range("B" & numComExcel).value() ' "
        Dim accompagnement = wbExcel.Worksheets(1).range("C" & numComExcel).value() ' "
        Dim boisson = wbExcel.Worksheets(1).range("D" & numComExcel).value() ' "
        Label2.Text = menu ' On assigne les valeurs aux labels
        Label3.Text = sandwhich
        Label4.Text = accompagnement
        Label5.Text = boisson
0
bigou87 Messages postés 32 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 15 janvier 2009
31 déc. 2008 à 13:17
J'ai oublié ! Au début de mon projet j'ai ajouté la référence excel et j'ai déclaré :

Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel

BIGU87
0
cs_MAMuing Messages postés 7 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 3 janvier 2009
1 janv. 2009 à 23:13
merci bcp je te recapte sur msn si tu veux c'est vraiment sympathique de ta part
alexandre
0
Rejoignez-nous