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 :

Checkbox et base de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut Checkbox et base de données
    Bonjour,

    Je me permets de vous contacter car cela fait plusieurs jours que j'essaye de faire fonctionner ma macro en vain.

    J' ai créé une userform dans laquelle j'ai inséré des checkbox.
    Je souhaite que lorsque je clic sur le bouton ok le nom (ou caption) de toutes les checkbox vraies soient écritent les une sous les autres dans la colone 6 de mon tableau.


    J'ai essayé d'utiliser la fonction de control afin de repérer toutes les chexbox vraies mais je ne parvient pas écrire leur nom dans le tableau.

    Merci d'avance
    Cordialement,

    vbajenn
    Images attachées Images attachées  

  2. #2
    Membre actif Avatar de Syphochaos
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 70
    Par défaut
    Bonjour vbajenn.

    Ton code serait le bienvenu si tu veux que les forumeurs expérimentés viennent t'aider.

    Sypho.

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut
    Ok.
    En ce qui concerne les checkbox, j'ai récupérer ce bout de code sur le forum.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim ctrl As Control, nom As String
     
    For Each ctrl In Me.Controls
      nom = ctrl.Name
     If InStr(nom, "CheckBox") = 1 Then
    MsgBox nom & " = " & ctrl.Value
    End If
    Next
    Il fonctionne très bien. J'ai essayé plein de chose à partir de ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i
    For i = 2 to 9
    i = 1 
    Dim ctrl As Control, nom As String
     
    For Each ctrl In Me.Controls
      nom = ctrl.Name
     If InStr(nom, "CheckBox") = 1 Then
    ?>>>>>>>> C' est à ce moment précis que je ne sais pas comment m'y prendre!!!

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Checkbox9 = 1 Then
    Cells (i, 6) = Checkbox9.Caption
    End if


    Et ça pour les 8 Checkbox mais je sens bien que ça ne correspond pas à mes attentes. Je pense que l'on doit pouvoir faire une boucle mais je ne sais pas laquelle.

    Bref je galère!!!

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut
    Merci pour ton aide,

    J'ai essayé de réutiliser la macro suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Ctrl As Control
     
    For Each Ctrl In Me.Controls
        If TypeOf Ctrl Is MSForms.TextBox Then MsgBox Ctrl.Object.Value
    Next Ctrl

    et je l'ai remise à ma sauce (pour les checkbox) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Ctrl As Control
     
    For Each Ctrl In Me.Controls
        If TypeOf Ctrl Is MSForms.CheckBox Then Cells(5, 6) = Ctrl.Object.Caption
    Next Ctrl

    Le nom (caption) d'une checkbox s'affiche!!!!! Mais uniquement celui de la dernière checkbox qu'elle soit vrai ou non.

    J'y retravail!

    jenn

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    C'est normal car tu ne travailles que sur une cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    i = 2
    For Each Ctrl In Me.Controls
          If TypeOf Ctrl Is MSForms.CheckBox And Ctrl = True Then Cells(i, 6) = Ctrl.Object.Caption : i = i +1
    next ctrl
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut
    Malheureusement ça ne fonctionne toujours pas. J'ai retravaillé la macro mais c'est pire plus rien ne se passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Ctrl As Control
    Dim i
    For i = 2 To i + 1
    i = 1
     
    For Each Ctrl In Me.Controls
          If TypeOf Ctrl Is MSForms.CheckBox And Ctrl = True Then Cells(i, 6) = Ctrl.Object.Caption
          End If
    Next
    Next i
    Sur une feuille module, j'ai écris une macro afin d'activer la première ligne et de passer à la suivante à chaque fois que je clic sur ok.
    Cette macro pourrait-elle poser problème?

  8. #8
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Déjà, tu es mal barré avec cette introduction, qu'est-ce que ça veux dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For i = 2 To i + 1
    i = 1
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Mai 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 8
    Par défaut
    Bonjour à tous et à toutes,

    Je reviens sur mon soucis. Je remplis une feuille EXCEL grâce à une Userform.
    Cette Userform possède une frame dans laquel il ya 8 checkbox.

    Mon souhait serait que lorsque que je clique su ok, le nom de chaque checkbox coché soit inséré dans le tableau colonne 6, les uns en dessous des autres.

    J'ai écrit un petit programme qui ne fonctionne pas :
    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
    Private Sub CBok_Click()
     
    With Worksheets(1)
    derlign = .Range("a65536").End(xlUp).Row + 1
                .Cells(derlign, 1).Value = CBclient.Value           'Nom du client
                .Cells(derlign, 2).Value = TBcodearticle.Value      'Code article
                .Cells(derlign, 3).Value = TBof.Value               'of
                .Cells(derlign, 4).Value = TBind.Value              'Désignation
     
     
    ''''''''''''''''''''''''''''Choix du setceur'''''''''''''''''''''''''''''''''
     
                If OBstructure.Value = True Then
                Cells(derlign, 5) = OBstructure.Caption
                End If
     
                If OBmecanosoude.Value = True Then
                Cells(derlign, 5) = OBmecanosoude.Caption
                End If
     
     
                If OBchaudronnerie.Value = True Then
                Cells(derlign, 5) = OBchaudronnerie.Caption
                End If
     
    ''''''''''''''''''''''''''''Choix du type d'opération(s)'''''''''''''''''''''
     
       If CheckBox9.Value = True Then Cells(derlign, 6) = CheckBox9.Caption
       If CheckBox10.Value = True Then Cells(derlign, 6) = CheckBox10.Caption
       If CheckBox11.Value = True Then Cells(derlign, 6) = CheckBox11.Caption
       If CheckBox12.Value = True Then Cells(derlign, 6) = CheckBox12.Caption
       If CheckBox13.Value = True Then Cells(derlign, 6) = CheckBox13.Caption
       If CheckBox14.Value = True Then Cells(derlign, 6) = CheckBox14.Caption
       If CheckBox15.Value = True Then Cells(derlign, 6) = CheckBox15.Caption
       If CheckBox16.Value = True Then Cells(derlign, 6) = CheckBox16.Caption
     
     
    End With

    Actuellement il ne m'insère que le nom de la checkbox la plus lointaine coché.
    Je m'explique :

    Si je coche checkbox 9, 10, 13
    Il insère seulement le nom de la checkbox13

    Quelqu'un peut-il m'aider? svp?

    Pensez-vous qu'une boucle de control pourraît m'aider?
    J'ai essayé avec Me.Controls mais je ne peux utiliser les résultats du test que dans une message box.

Discussions similaires

  1. Plusieurs 'checkbox' en base de données
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 19/01/2014, 19h35
  2. Chargement CheckBox depuis base de donnés
    Par cana13 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/10/2010, 13h23
  3. [MySQL] Inscription checkbox en base de données.
    Par xjulio59 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/10/2010, 22h43
  4. Réponses: 1
    Dernier message: 23/10/2009, 10h09
  5. [MySQL] supprimer une ligne d'une base de données via un checkbox
    Par sniper_marra dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 15/08/2008, 11h51

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