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 :

Code vba pour créer des éléments de formulaires


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Par défaut Code vba pour créer des éléments de formulaires
    Bonjour,


    Je voudrais créer un code vba où, en fonction d'un nombre d'éléments variable à chaque fois que la macro se lancera, il apparaisse autant de cases à cocher pour chaque ligne de mon tableau excel sur la colonne A.
    Ceci permettra notamment à l'utilisateur de cocher certaines de ces cases, puis de réappuyer sur un autre bouton pour faire continuer la macro.

    Pour autant, je ne sais pas du tout comment faire. Je sais coder la seconde partie, où le code vba réagit en fonction des cases à cocher, mais je ne sais même pas s'il est possible de faire en sorte que le code vba crée des éléments de formulaire.

    Est-ce au moins faisable ?
    Si non, une autre possibilité serait de demander à l'utilisateur d'écrire par exemple ok sur la colonne A du tableau pour chaque ligne qu'il veut sélectionner, mais c'est bien moins élégant et simple d'utilisation.


    Je vous remercie,
    Novice_vba

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 151
    Par défaut
    Bonsoir,

    Ta demande n'est pas très claire :
    il apparaisse autant de cases à cocher pour chaque ligne de mon tableau excel sur la colonne A.
    et la suite pas beaucoup plus même si une idée lointaine est apparue.
    Si tu exécutes ta macro une fois, il est toujours possible de l'exécuter une 2ième fois et une 3ième et ....
    Tu peux pratiquement tout faire en programmation....
    Pourrais-tu expliquer plus en détails ton problème et ce que tu veux réellement faire?

    citation :

    Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions.
    Confucius

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Par défaut
    Bonjour electrons,

    L'utilisateur devra cliquer sur un bouton pour lancer la première macro. Mon premier code va faire apparaitre un certain nombre de lignes sur un tableau excel.

    J'aimerais que l'utilisateur puisse ensuite sélectionner les lignes qui l'intéressent dans le fichier excel, en les cochant.

    Ceci permettra de lancer une seconde macro qui va traiter les lignes préalablement sélectionnées par l'utilisateur.

    Est-ce plus clair ?

    Merci,
    Novice_vba

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Une piste.
    Pour la création des cases à cocher :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Private Sub Case_a_Cocher()
     
        Dim Chk As OLEObject
        Dim Plage As Range
        Dim I As Integer
     
        With ActiveSheet 'en colonne A
     
            Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
     
        'crée les cases à cocher
        For I = 1 To Plage.Count
     
            Set Chk = ActiveSheet.OLEObjects.Add("Forms.CheckBox.1")
     
            With Chk
     
                .Name = "Chk" & I
                'à la dimension de la cellule en cours
                .Left = Plage(I).Left
                .Top = Plage(I).Top
                .Width = Plage(I).Width
                .Height = Plage(I).Height
                .Object.Caption = Plage(I)
     
            End With
     
     
        Next I
     
    End Sub
    pour récupérer l'adresse de la case à cocher correspondant à la cellule sur laquelle elle se trouve :
    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
    18
    19
    20
     
    Sub Choix()
     
        Dim Chk As OLEObject
     
        For Each Chk In ActiveSheet.OLEObjects
     
            If TypeName(Chk.Object) = "CheckBox" Then
     
                If Chk.Object.Value = True Then
     
                    MsgBox Chk.TopLeftCell.Address(0, 0)
     
                End If
     
            End If
     
        Next
     
    End Sub
    Hervé.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Par défaut
    Merci beaucoup !

    Je vais regarder ça

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/03/2015, 14h00
  2. [AC-2003] code VBA pour faire des tri
    Par mb861972 dans le forum VBA Access
    Réponses: 7
    Dernier message: 14/10/2010, 16h05
  3. [XL-2003] Code VBA pour fusion des Dossiers
    Par em_bengue dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/04/2009, 00h03
  4. Problème d'un Code VBA pour créer un répertoire
    Par cfidko dans le forum VBA Access
    Réponses: 24
    Dernier message: 26/06/2007, 14h30
  5. code Delphi pour créer des sources ODBC
    Par lassad dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/10/2005, 11h18

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