IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment faire faire automatiquement une action à une listbox?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 10
    Par défaut Comment faire faire automatiquement une action à une listbox?
    Bonjour,

    Dans le cadre d'un projet, j'ai 7 listboxs.
    Je souhaite que dans la septieme affiche la somme des 6 précédentes.
    Dans le workbook open, j'ai inscrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sheets("choix").TextBox7.Value = "0"
    Sheets("choix").TextBox8.Value = "0"
    Sheets("choix").TextBox9.Value = "0"
    Sheets("choix").TextBox10.Value = "0"
    Sheets("choix").TextBox11.Value = "0"
    Sheets("choix").TextBox12.Value = "0"
    Sheets("choix").TextBox13.Value = "Coût total"
    Ensuite, sur la feuille de code correspondante aux textbox, j'ai inscrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub TextBox13_Change()
    Dim X As String
     
    X = Val(TextBox7.Value) + Val(TextBox8.Value) + Val(TextBox9.Value) + Val(TextBox10.Value) + Val(TextBox11.Value) + Val(TextBox12.Value)
     
    If X <> 0 Then
        TextBox13.Value = (X)
        Else
        TextBox13.Value = "Coût Total"
    End If
    End Sub
    Mon probléme est que je veux que le total de la textbox13 s'affiche dés que la valeur des différentes textboxs sont modifiées. Et ceci même quand je ne touche qu'une textbox et que les autres restent à "l'état 0".
    Quand je modifie les valeurs, l'inscription coût total reste inchngée, et seulement quand je met un point d'arret sur end sub et que je met play, la valeur correcte s'affiche!

    Comment est-ce que je peu modifier ce défaut?
    Merci beaucoup d'avance

    Jack

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    L'évènement à exploiter n'est pas TextBox13_Change, mais tous les évènements "Change" des autres TextBoxes : les 7 à 12.

    Cordialement,

    PGZ

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu crée une macro somme et tu l'appelle dans chaque changement dans tes textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Som()
    Dim X As Double
     
    X = Val(TextBox1.Value) + Val(TextBox2.Value) '+...........
    If X <> 0 Then 'bien sûr tu n'as pas de valeurs négatives!
       TextBox13.Value = X
    Else
       TextBox13.Value = "Coût Total"
    End If
    End Sub
    Private Sub TextBox1_Change()
    Som
    End Sub
    Private Sub TextBox2_Change()
    Som
    End Sub
    '....ET LES AUTRES

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 10
    Par défaut
    Comment est-il possible d'enregistrer la macro?
    (désolé, je ne suis qu'un trés grand débutant)

    Jack

    Ok, désolé, j'ai teouvé et ça marche à merveille ta méthode!!

    Merci beaucoup!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 24
    Dernier message: 29/05/2015, 17h02
  2. Réponses: 2
    Dernier message: 23/03/2009, 13h25
  3. Faire passer un objet d'une action a une autre
    Par piotrr dans le forum Struts 2
    Réponses: 24
    Dernier message: 26/05/2008, 17h50
  4. Faire une action à une date précise?
    Par Greg.shogun dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 02/02/2008, 17h07
  5. Faire a un script executer une action sur un signal
    Par vodevil dans le forum Langage
    Réponses: 1
    Dernier message: 13/12/2005, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo