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 :

Problème avec CheckBox [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Problème avec CheckBox
    Bonjour,

    Je souhaiterais savoir si il et possible grâce a un formulaire qui contient une textbox et une CheckBox de remplir un tableau avec du texte (colonne P) par le combobox et un chiffre 1 si cocher (colonne Q), de plus il faudrait que cela mette un 0 dans les autre ligne de la colonne Q du tableau ou il y a une donner dans la colonne P. C'est pas trop évident a explique je peux préparer un exemple si il faut...

    Je coince au niveau de la CheckBox. (Le bouton de lancement de l'userform et sur la feuil1 et les données vont dans la feuille "BASE")
    Mon code actuel :

    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
    'Pour le bouton Nouvelle campagne
    Private Sub CommandButton2_Click()
        Dim L As Integer
        If MsgBox("Confirmez-vous l’insertion de cette nouvelle campagne ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
        L = Sheets("Base").Activate
        L = Range("p65536").End(xlUp).Row + 1 'Pour placer le nouvelenregistrement à la première ligne de tableau non vide
     
            Range("p" & L).Value = TextBox1
        Sheets("Feuil1").Activate
        End If
        Unload Me
     
    End Sub
     
    'Pour le bouton Quitter
    Private Sub CommandButton1_Click()
    Unload Me
    End Sub
    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour ftisse,

    Au vu de l'explicité de ce que tu demandes, je te propose, en effet, de faire un fichier exemple... explicite, peut-être, cette fois...
    Ceci n'est que mon humble avis.
    Chapeau à celui qui te réalisera une solution fonctionnelle avec cette explication !

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Oui je me doute bien mais j'ai lue que il faut essayer sans fichier exemple.

    Je pense que ce sera plus simple.

    Checkbox.xlsm

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    Il faut aussi essayer de s'exprimer avec clarté (et si possible avec moins de fautes)

    on sait que ton probleme est lié à la Check Box
    mais quel est il?

    Tu veux rentrer des valeurs dans la checkbox pour qu'elles puissent etre selectionnées?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour COCONUT2

    Oui je c'est l'orthographe n'est pas mon point fort...

    Non je veut que quand on la coche cela remplisse la colonne Q automatiquement et non pas manuelle comme j'ai fait avec les 0 et le 1.

    Quand je crée ma nouvelle campagne et que je la déclare par défaut en cochant la checkbox, il faut un 1 dans la colonne Q en face de la campagne que l'on vient de crée et un 0 dans toutes les autres campagnes.

    J’espère que je suis assez clair.

    Cordialement

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    ftisse,

    Dis-moi si ceci te convient :
    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
    40
    41
    42
    43
    44
    45
    Private Sub CommandButton2_Click()
    Dim i As Integer, j As Integer
    Dim rng As Range
    Dim bool As Boolean
     
    With Worksheets("Base")
        If MsgBox("Confirmez-vous l’insertion de cette nouvelle campagne ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
            Set rng = .Columns(16).Find("*", , , , , xlPrevious)
            bool = True
     
            For i = 1 To rng.Row
                If .Range("P1").Offset(i, 0) = Me.TextBox1 Then
                    If Me.CheckBox1 Then
                        For j = 1 To rng.Row - 1
                            .Range("Q1").Offset(j, 0) = 0
                        Next j
     
                        .Range("P1").Offset(i, 1) = 1
                        bool = False
                        Exit For
                    Else
                        MsgBox "Campagne déjà insérée"
                    End If
                End If
            Next i
     
            If bool Then
                rng.Offset(1, 0) = Me.TextBox1
     
                If Me.CheckBox1 Then
                    rng.Offset(1, 1) = 1
                    For j = 1 To rng.Row - 1
                        .Range("Q1").Offset(j, 0) = 0
                    Next j
                Else
                    rng.Offset(1, 1) = 0
                End If
            End If
     
        End If
     
    End With
    Unload Me
     
    End Sub


    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Nickel !!! merci beaucoup, un problème de moins sur mon fichier.



    Cordialement
    Florian

  8. #8
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    En passant, il y a quand même des limites !

    Citation Envoyé par ftisse Voir le message
    Bonjour COCONUT2

    Oui, je sais... L'orthographe n'est pas mon point fort...

    Non, je veux que lorsque l'on coche la CheckBox, la colonne Q se remplisse automatiquement et non pas manuellement comme j'ai fait avec les 0 et le 1.

    Quand je crée ma nouvelle campagne et la déclare par défaut en cochant la checkbox, un 1 se place dans la colonne Q correspondante. Ainsi, logiquement, des 0 sont placés en colonne Q sur toutes les autres campagnes.

    J’espère avoir été plus explicite, cette fois-ci.

    Cordialement
    Et il est probable, étant nul en orthographe également et le Français n'étant pas ma langue natale, d'avoir laissé des fautes.

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Maintenant j'ai un autre Userform ou j'ai le choix des campagnes (que l'on vient de crée) est ce que je peut mettre la campagne en cour (donc celle qui a le 1 en colonne Q) dans le combobox quand l'userform s'initialise ?

    Merci

  10. #10
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Quand et comment est appelé cet autre UserForm ?
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Je joins directement mon vrai fichier ce sera plus simple.

    C'est pour l'UserForm 6, ComboBox1

    Fichierclients.xlsm

    Merci

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour Kimy_Ire, ftisse,

    A ftisse,

    Même si tu n'es pas fort en orthographe malgré ton statut d'étudiant (excuses-moi, je suis un vieux c..), pour ne pas décourager Kimy, tu pourrais lui attribuer (par reconnaissance) un dans ses interventions, il le mérite
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur 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...)

  13. #13
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    ftisse,

    La vaaaache ! C'est quoi ce code torduuuuu ?!

    Il n'y a pas de logique dans ce que tu fais j'ai l'impression...

    Bref, dans ton UserForm_Initialize(), je te propose de remplacer la ligne suivante : ComboBox1.ListIndex = 0 par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        With Worksheets("Base")
            Set rng = .Columns(17).Find("1", , xlValues, xlWhole)
     
            If Not rng Is Nothing Then
                For i = LBound(ComboBox1.List) To UBound(ComboBox1.List)
                    If ComboBox1.List(i) = rng.Offset(0, -1) Then
                        ComboBox1.ListIndex = i
                        Exit For
                    End If
                Next i
            Else
                ComboBox1.ListIndex = 0
            End If
        End With
    Il me semble que cela répond à ton besoin ! ^^

    @casefayere,
    Citation Envoyé par casefayere Voir le message
    Bonjour Kimy_Ire, ftisse,

    A ftisse,

    Même si tu n'es pas fort en orthographe malgré ton statut d'étudiant (excuses-moi, je suis un vieux c..), pour ne pas décourager Kimy, tu pourrais lui attribuer (par reconnaissance) un dans ses interventions, il le mérite
    Je ne mérite pas tant de reconnaissance !
    Cependant, je te remercie pour cette note touchante.

    Cordialement,
    Kimy
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Oui je c'est, déjà je suis un amateur et en plus j'ai rajouter morceau par morceau pour arriver a mon but et c'est pas encore parfait...

    Je vient d'essayer ça ne marche pas, j'ai un message d'erreur "erreur de compilation: variable non définie "

  15. #15
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Dim rng As Range
        Dim i As Integer
    au début de ton UserForm_Initialize().
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    L'userForm ce lance et marche bien mais le comboBox et toujours vide.

    Il y a un lien entre le combo box 1, 2 et 3, les donner disponible du 2eme sont en fonction du premier etc... sa ne peut pas venir de ça le problème ?

    En effet j'ai le même combobox dans l'userform Nouvelle parcelle, en entrant ce code cela marche bien.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2014
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    Je ne sait pas pourquoi ce matin je me ré-ouvre sur mon fichier et miracle la valeur par défaut marche nickel, encore merci beaucoup,
    Sans vouloir abuser une dernière chose je n'arrive pas a faire remplir mes textbox (surface et culture) de l'userForm 6 en fonction de la parcelle choisi.
    Je remet le fichier joins pour que ce soit plus visuel.

    Fichierclients.xlsm

    Merci

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

Discussions similaires

  1. Problème avec checkbox
    Par allergique dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/10/2009, 21h44
  2. problème avec checkbox
    Par srt101 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2008, 20h36
  3. Problème avec CheckBox
    Par zanzan212 dans le forum Struts 1
    Réponses: 6
    Dernier message: 11/01/2008, 16h07
  4. Problèmes avec checkboxes
    Par Strix dans le forum Langage
    Réponses: 5
    Dernier message: 12/06/2007, 15h13
  5. problème avec checkbox
    Par azur_34 dans le forum Struts 1
    Réponses: 1
    Dernier message: 14/05/2007, 12h24

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