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 :

[VBA Excel] Une même macro pour plusieurs CheckBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut [VBA Excel] Une même macro pour plusieurs CheckBox
    Bonjour,

    Je suis débutante en vba.
    Je voudrais créer un nombre indéfini de CheckBox, auxquelles je voudrais affecter la même macro. Après avoir cherché dans l'aide et sur internet, je pense que je pourrais m'en sortir avec une collection de CheckBox.
    J'arrive à faire entrer mes CheckBox dans la collection mais je n'arrive pas ensuite à ce que ma macro s'effectue quand je clique sur une case à cochée.

    J'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Sub NomDeMaCollection_Click()
       MaMacro
       End sub
    Est-ce que c'est possible? Et si oui, comment dois-je faire?
    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Jète un oeil à cette adresse

    http://vb.developpez.com/faq/?page=Form#ctl_dynamique

    Consiste à indexer les contrôles puis à les gérer selon leur index

    Tu dis

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Il n'y a pas le tag...
    Mais je vois le mot macro...

    On peut indexer sous VBA ?

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Sous VBA97, non. Sous les versions ultérieures, je crois... mais effectivement, je n'en suis pas sûr
    Choupett' va nous dire ça...

  5. #5
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Non, justement, j'allais le dire à ouskel'! On peut pas en VBA puisqu'il n'y a pas de propriété Index...

    Choupett', que veux-tu faire au juste? Les boutons d'options ne seraient-ils pas plus adéquats?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut
    J'ai VBA97, et apparemment comme le dit ouskel'n'or, on ne peut pas. En tout cas je n'y arrive pas.

    J'ai pensé aux boutons d'option mais ça ne me convient pas car il faut que je puisse en cocher plusieurs à la fois.

    J'essaie de faire un programme qui me permettrait de calculer un budget. Et j'ai besoin de ces cases à cocher pour pouvoir pointer ce qui est sur le relevé de banque.

    Donc pour calculer ce solde pointé, j'ai fait :
    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
    36
    37
    38
    39
    Private Sub CheckBox2_Click()
    'Pour trouver sur quelle ligne ce situe ma checkBox
    y = CheckBox2.Top
    N°Ligne = Int(y / 12.75) + 1
     
        If CheckBox2.Value = True Then
                Cells(N°Ligne, 9).FormulaR1C1 = Cells(N°Ligne, 7) 
            'avec dans la colonne G le montant des dépenses et des recettes 
            Else
                Cells(N°Ligne, 9).FormulaR1C1 = "0" 
                'dans la colonne I le pointage
         End If
     
         SoldePointé
     
    End Sub
    
    
    Sub SoldePointé()
    If Cells(3, 10).Value = "" Then     'avec dans la colonne J le solde pointé
                Pointage = Cells(3, 9).Value
                Cells(3, 10).Select
                Selection.FormulaR1C1 = Pointage
                
            Else: Cells(3, 9).End(xlDown).Select
                  Pointage = Selection.Value
                  Selection.Offset(0, 1).Select
                  Selection.FormulaR1C1 = Pointage
                  Selection.Offset(-1, -1).Select
                  
                  Do
                    Pointage = Selection.Offset(1, 1).Value + Selection.Value
                    Selection.Offset(0, 1).Select
                    Selection.FormulaR1C1 = Pointage
                    Selection.Offset(-1, -1).Select
                  Loop Until Selection.Value = ""
                  
        End If
    End Sub
    Le problème, c'est qu'à chaque fois que je rentre une nouvelle dépense, j'ai besoin de créer une nouvelle Checkbox à laquelle je dois affecter ma macro CheckBox_Click. D'où mon idée de faire une collection et d'affecter cette macro à la collection mais je ne sais pas si c'est possible et je n'y arrive pas.

    Merci de votre aide


    Pense aux balises Code pour encadrer ton code. Sélection du code, 1 clic sur le bouton # et picétou
    Ajoutées par ouskel'n'or

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu mets
    If CheckBox2.Value = True Then
    Cells(N°Ligne, 9).FormulaR1C1 = Cells(N°Ligne, 7)
    'avec dans la colonne G le montant des dépenses et des recettes
    Else
    C'est la colonne 6 ou la colonne 9 (G ou I) ?

    Je sais que je ne réponds pas à ta question mais j'ai vu ça, alors...

    A+

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

Discussions similaires

  1. [XL-2010] Répéter même action pour plusieurs checkbox
    Par abdello dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/10/2013, 09h56
  2. une seule macro pour plusieurs feuilles d'un même classeur
    Par pouldom dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/12/2010, 11h38
  3. Une même fonction pour plusieurs types de variables
    Par darkwall_37 dans le forum Débuter
    Réponses: 1
    Dernier message: 21/04/2010, 18h06
  4. [VBA-excel]Probleme de macro pour creer un graphique.
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2006, 15h42
  5. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 16h28

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