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 :

Incrémenter sur une variable après un UnloadUserform [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut Incrémenter sur une variable après un UnloadUserform
    Bonjour, depuis quelques heures je suis bloqué sur ce code. Je n'arrive pas à automatiquement incrémenter "+1" à la variable "A" lorsque je clique sur le bouton "Addition". En somme, je souhaiterai que si j'appuie sur le bouton "Addition" n-fois, ma "Test2.Caption" soit égale à "A + n"

    Ceci est un code à part, car il ferait partie intégrante d'un code beaucoup plus long.

    Merci Beaucoup de votre aide ! (J'ai testé avec le "A=A+1" dans le PS Addition_Click, ça ne change rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim A As Integer
    Private Sub Addition_Click()
        Unload UserForm2
        UserForm2.Show
        A = A + 1
    End Sub
    Private Sub Test_Click()
        Test2.Caption = A
    End Sub
    Private Sub UserForm_Initialize()
        A = 1
    End Sub

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 78
    Par défaut
    si tu veux que test2 change à chaque fois que tu cliques sur Addition autant le mettre directement dans Addition_click

    un truc comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Addition_Click()
        Unload UserForm2
        UserForm2.Show
        Test2.Caption = A +1
    End Sub

    par contre vu que tu Unload l'userform me semble que ça vide toutes les données à chaque fois dont le A

  3. #3
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Ce serait plutôt un code comme ça finalement, puisque c'est une Variable à laquelle je veux incrémenter la valeur +1.

    Le problème, c'est que vu qu'elle est déjà initialisée à 7, j'ai beau la changer en 8 via le "Addition_Click()" , elle reprendra automatiquement la Valeur 7 puisque je l'ai définie ainsi.

    C'est là que je ne vois pas comment faire puisque j'ai vraiment besoin d'initialiser ma valeur à 7, mais je veux chaque fois que je clique sur le bouton "Addition"il s'y ajoute "1".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim A As Integer
     
    Private Sub UserForm_Initialize()
    A = 7
    End Sub
     
    Private Sub Addition_Click()
    A = A + 1
    Unload UserForm1
    UserForm1.Show
    End Sub
    Quand tu unload le UserForm ça supprime toutes les données des objets, mais ne supprime pas les déclarations de variables.

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous,

    Il faudrait utiliser plutôt l'instruction Hide que Unload, car cette dernière ferme le formulaire au lieu de le masquer qui fait qu'à la nouvelle instruction Show tu repasses par la procédure Initialize.

  5. #5
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Du coup avec la fonction .Hide, ça ignorera la partie "UserForm_Initialize()" et déroulera le reste ?

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Pas tout à fait :
    Au 1er affichage du Formulaire par l'instruction Show, la procédure Initialize sera lancée.
    Ensuite avec Hide, le formulaire est masqué et les variables et controls conservent leurs valeurs. les affichages suivants par Show ne passent plus par la Sub Initialize puisque que le formulaire est resté en mémoire.

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

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  2. Opération sur une variable
    Par pcdj dans le forum Linux
    Réponses: 2
    Dernier message: 29/10/2005, 20h02
  3. Réponses: 2
    Dernier message: 23/10/2005, 18h05
  4. Ajouter un listener sur une variable
    Par serwol dans le forum Général Java
    Réponses: 4
    Dernier message: 14/10/2005, 15h39
  5. [Débutant] Probleme d'incrémentation d'une variable
    Par sakuragikan dans le forum ASP
    Réponses: 2
    Dernier message: 25/08/2005, 13h11

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