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 :

Problème avec différents boutons en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 197
    Par défaut Problème avec différents boutons en VBA
    Bonjour à toutes et à tous,

    Voilà j'utilise des userforms mais j'ai un petit souci. J'ai 3 boutons dans un 1er userform. J'aimerai que le choix du bouton soit pris en compte et que l'une des cellules de ma feuille 1 soit modifiée en fonction du choix du bouton.
    J'ai essayé ceci mais le clic sur l'un des bouton n'affecte rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If userform4.CommandButton1 = True Then
     Sheets("feuil1").Range("A2").Value = Sheets("feuil1").Range("A2").Value - Sheets("feuil2").Range("B2").Value
    End If
    If userform4.CommandButton2 = True Then
    Sheets("feuil1").Range("A3").Value = Sheets("feuil1").Range("A3").Value - Sheets("feuil2").Range("B2").Value
    End If
    If userform4.CommandButton3 = True Then
    Sheets("feuil1").Range("A4").Value = Sheets("feuil1").Range("A4").Value - Sheets("feuil2").Range("B2").Value
    End If

    L'utilisation d'une variable serait peut-être l'une des solution mais je ne sais où l'utiliser.

    Merci d'avance pour votre aide.

    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    c'est dans ton UserForm4 que ça ce passe!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
    Sheets("feuil1").Range("A2").Value = Sheets("feuil1").Range("A2").Value - Sheets("feuil2").Range("B2").Value
    End Sub
    Private Sub CommandButton2_Click()
    Sheets("feuil1").Range("A3").Value = Sheets("feuil1").Range("A2").Value - Sheets("feuil2").Range("B2").Value
    End Sub
    Private Sub CommandButton3_Click()
    Sheets("feuil1").Range("A4").Value = Sheets("feuil1").Range("A2").Value - Sheets("feuil2").Range("B2").Value
    End Sub

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 197
    Par défaut
    Ma valeur est modifiée. Le problème est que la valeur dans B2 arrive après le clic sur le bouton désiré. Du coup il y a un décalage à chaque fois.
    Dans l'ordre, je clique sur l'un des boutons, puis une valeur va être attribuée à la cellule B2 (exemple 20), mais la première fois, A2 ou A3 ou A4 n'est pas modifié (car le bouton a déjà été cliqué).
    Si je refais le test, exemple avec le bouton2, ma valeur en A3 sera bien changée, mais avec la valeur 20 du premier clic :s.

    Merci pour ta réponse rapide.

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Incomprehensible

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 197
    Par défaut
    Je reprends .

    J'ai un premier userform avec 3 boutons. Puis en demandant à l'utilisateur des valeurs, l'une d'elle ira dans la cellule B2 d'une feuille. Je souhaiterai récupérer cette valeur, et la soustraire d'une cellule dans une autre feuille. Mais la cellule à modifier dans cette feuille (A2, A3, ou A4) dépend du choix du bouton de départ.
    Est-ce mieux?

    Encore pardon pour cette incompréhension.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
    MyVarPublic=1
    End Sub
    Private Sub CommandButton2_Click()
    MyVarPublic=2
    End Sub
    Private Sub CommandButton3_Click()
    MyVarPublic=3
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case MyVarPublic
        Case 1
            Sheets("feuil1").Range("A2").Value = Sheets("feuil1").Range("A2").Value - Sheets("feuil2").Range("B2").Value
        Case 2
            Sheets("feuil1").Range("A3").Value = Sheets("feuil1").Range("A3").Value - Sheets("feuil2").Range("B2").Value
        Case 3
            Sheets("feuil1").Range("A4").Value = Sheets("feuil1").Range("A4").Value - Sheets("feuil2").Range("B2").Value
    End Select

  7. #7
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 197
    Par défaut
    J'ai essayé avec ceci.
    Faut-il déclarer la variable myvarpublic dans l'userform et dans le code de la feuille?

    Parce que je viens d'essayer et cela ne modifie pas A2 ou A3 ou A4. J'ai mis une msgbox de myvarpublic pour connaître la valeur qu'elle contient mais la msgbox est vide.

    Merci pour votre aide.

  8. #8
    Invité
    Invité(e)
    Par défaut
    il faut effectivement déclarer la variable c'est pourquoi je l'ai appelé MyVarPublic.
    si tu la déclare dans un userform, elle sera public mais via le userfom:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.MyVarPublic=10
    je de suggère d'insérer un module que tu utilise que pour les variables publics:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public MyVarPublic as integer

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

Discussions similaires

  1. probléme avec un bouton recommencer
    Par mademoizel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 07/06/2006, 17h27
  2. Problème avec un bouton TBitBtn
    Par kurul1 dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/05/2006, 10h41
  3. Problème avec l'export en VBA
    Par ludvax dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 14h38
  4. Problème avec les boutons d'options
    Par Le Rebel dans le forum Langage
    Réponses: 3
    Dernier message: 07/02/2006, 12h12
  5. Problème avec les boutons de perl Tk
    Par jkevin2 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 02/09/2005, 17h18

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