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 :

Multi CheckBox change


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 16
    Par défaut Multi CheckBox change
    Bonjour,

    J'ai fais un petit truc en VBA pour changer un Range des que je check la CheckBox, et ca marche tres bien !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub CheckBox3_Change()
    If CheckBox3.Value = True Then
            Worksheets("Main").Range(Cells(3, 36), Cells(3, 42)).Font.Bold = True
            ElseIf CheckBox3.Value = False Then
            Worksheets("Main").Range(Cells(3, 36), Cells(3, 42)).Font.Bold = False
            End If
    End Sub
    Mon pb c'est que j'ai une 50aine de Checkboxes et je souhaite eviter de recopier 50 fois le code ...

    Avez vous une solution qui pourrait me permettre une sorte de boucle ?

    Par ailleurs, est il possible de faire une function du type :

    Private Sub xxxxxx_Change()
    ou xxxxxx correspond au groupename des toutes mes checkboxes ?

    Et j'ai aussi trouver cette formule qui va surement m'etre utile :
    ActiveSheet.OLEObjects("CheckBox" & i).Object.Value

    Merci bcp d'avance pour votre aide
    Alex

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Tu peux déja simplifier ton code comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Main").Range(Cells(3, 36), Cells(3, 42)).Font.Bold= CheckBox3.Value

  3. #3
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    As tu lié une cellule à tes check box?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 16
    Par défaut
    Merci pour vos infos,
    deja, la simplification est une tres bonne idée

    ensuite les LinkedCells, j'en ai une pour chacun des CheckBox(1 to 50)
    qui correspond a une cellule dans la ligne ou se situe la CheckBox, et me donne la valeur VRAI ou FAUX (mon excel est en francais)

    avec ca, j'ai deja essayé de faire une formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_Change(ByVal Target As Range)
    mais ca ne fonctionne pas, car il faut un changement manuel de la cells et pas automique comme dans mon cas ..

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Le Worksheet_Change s'active même si modification par code de la valeur de la cellule, mais pas sur la modification du format

  6. #6
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Citation Envoyé par adummm Voir le message
    ca existe ?
    Bonne question, j'en sais rien ...
    Mais sur l'idée du calculate, c'est un peu barbare mais je crois que ça peu le faire:
    Dans une nouvelle colonne tu copie le Vrai/Faux renvoyé par chaque check box. Au moment du calculate tu compare chaque ligne, celle qui est différente sera la ligne de la checkbox modifiée.
    Tu remets a jour la colonne qui contient la copie du renvoi de check box etc

    Suis-je clair ?

    Comme je suis têtu, j'ai fait un test sur base de mon idée, voici le code (tu verras que je me suis pas embêté à faire 50 checkbox )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Calculate()
     
    For Line = 5 To 6 'adapte selon tes lignes
        If Cells(Line, 12).Value <> Cells(Line, 13).Value Then 'j'ai utilisé la colonne L liée à la checkBox, M pour la "CopieValeur"
            Worksheets("Main").Range(Cells(Line, 36), Cells(Line, 42)).Font.Bold = Cells(Line, 12).Value 'Applique selon la cellule lié
            Cells(Line, 13).Value = Cells(Line, 12).Value 'on adapte la "CopieValeur"
            Exit For 'Sort de la boucle car différence trouvée
        End If
    Next Line
     
    End Sub

  7. #7
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Citation Envoyé par adummm Voir le message
    avec ca, j'ai deja essayé de faire une formule :
    Private Sub Worksheet_Change(ByVal Target As Range)
    mais ca ne fonctionne pas, car il faut un changement manuel de la cells et pas automique comme dans mon cas ..
    C'était la piste que j'aurais suivi...

    Et avec Calculate? reste à trouver le moyen de connaitre l'addresse de la cellule modifiée

  8. #8
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Peux tu reexpliquer le besoin car je ne comprend pas pourquoi creer plusieurs checkbox si le code qui suit doit etre le meme

Discussions similaires

  1. Selection / déselection multi checkbox
    Par iliak dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 09/02/2011, 13h56
  2. [ZF 1.8] Dojo Multi Checkbox
    Par guiyomh dans le forum Zend_Form
    Réponses: 1
    Dernier message: 29/08/2009, 21h48
  3. [AJAX] Multi Checkbox et Ajax
    Par Are-no dans le forum AJAX
    Réponses: 1
    Dernier message: 15/06/2009, 15h00
  4. [Spring MVC] Multi Checkbox
    Par kit dans le forum Spring Web
    Réponses: 0
    Dernier message: 04/03/2009, 18h25
  5. [MySQL] multi checkbox et fonction mail
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 25/02/2007, 11h35

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