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 :

Attendre et lire Userform [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut Attendre et lire Userform
    Bonjour,
    Comme on s'en doute j'ai un problème et là je tourne depuis quatre jours sur le site et je n'ai pas trouvé (ou alors je n'ai pas compris que ça correspondait). Je voudrais faire une sélection de colonnes à l'aide d'un Userform. Je l'ai donc créé avec les CheckBox (l'utilisateur selectionne à chaque fois les colonnes qu'il veut) mais je n'arrive pas à trouver comment l'intégrer dans ma macro pour le lire et surtout attendre qu'on le ferme pour continuer.

    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
     
    Dim i As Variant
    Dim c As Integer
    Dim A As Range
     
    choix.Show 0
     
    Sheets("res").Activate
    i = Range("A65536").End(xlUp).Row
    Sheets("res").Range("A1", "A" & i).Select
     
    For c = 1 To 8
        If CheckBox & c = True Then
            Union(Selection, Range(Cells(1, c), Cells(i, c))).Select
        End If
    Next c
    A = Selection
    J'ai essayé ce code mais de toute évidence ça ne fonctionne absolument pas. J'ai déjà réussi pas mal de réponses sur le site (et je vous en remercie fortement) mais là c'est hors de compréhension pour moi.
    Merci par avance pour votre aide.

    Rahmor

  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
    Bonjour.

    Tu as ouvert ton formulaire avec COmme vbModeless = 0, cela veut dire que tu as ouvert ton formulaire en non modal. C'est pour cela que le code continue de s'exécuter sans attendre l'action de l'opérateur.

    Si tu fais simplement L'exécution du code est suspendue jusqu'à fermetur du formulaire.

    Par contre le code qui "lit" les checkboxes devra être déplacé vers le module associé au formulaire. Tu mets un bouton de validation sur le formulaire et sur clic, tu lis et enregistres l'état des checkboxes.

    Cordialement,

    PGZ

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    Merci pour ta réponse

    Par contre le code qui "lit" les checkboxes devra être déplacé vers le module associé au formulaire. Tu mets un bouton de validation sur le formulaire et sur clic, tu lis et enregistres l'état des checkboxes.
    En revanche pour ça j'avais placé un bouton OK pour fermer la fenêtre mais pour l'enregistrement des checkboxes je ne vois pas comment faire puisque ça me met directement une sub checkbox_click ().

    Salutations,

    Rahmor

  4. #4
    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
    Re,

    Si tu as un bouton OK, tu utilises la procédure
    PGZ

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    J'ai tout mis dans la procédure de la fermeture mais une erreur persiste. J'essaye de mettre l'ensemble des colonnes que je veux en sélection mais apparemment ce n'est pas du tout efficace
    Pour le faire j'utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    i = Sheets("res").Range("A65536").End(xlUp).Row
     
    For c = 1 To 8
        If CheckBox & c = True Then
            Set B = Range(Sheets("res").Cells(1, c), Sheets("res").Cells(i, c))
            Set A = Union(A, B)
        End If
    Next c
     
    End
     
    End Sub
    L'erreur arrive en ligne 7 pour l'union. Je débute vraiment la programmation et je ne vois pas où ça foire. Peux-tu me l'indiquer ?
    Merci pour ton aide.

    Salutations,

    Rahmor

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    Merci pour l'aide, en fait les erreurs provenaient de fautes dans les déclarations.

    Salutations,

    Rahmor

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

Discussions similaires

  1. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  2. [XL-2010] Userform: lire les enregistrements avec "précédent" et "suivant"
    Par nibledispo dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 05/05/2013, 14h18
  3. Réponses: 0
    Dernier message: 18/07/2009, 15h59
  4. Attendre la fermeture d'un userform
    Par bybelos33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/07/2007, 14h07
  5. Utiliser un userform pour lire et écrire dans une feuille de calculs
    Par sebi78 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/04/2007, 19h51

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