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 :

Boucle sur TextBox pour les "Enabled" suivant une condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut Boucle sur TextBox pour les "Enabled" suivant une condition
    Bonjour,

    Je dois poursuivre le code de quelqu'un
    Le code permet d'aller chercher tous les sous dossier d'un fichier (donc le nombre variable suivant le dossier initial sélectionné).
    Une UserForm est générée avec la liste en Label de tous les noms des sous dossiers.
    A coté de chaque nom j'ai créé une Textbox associée contenant par défault 0.
    J'ai également une ChexBox.

    J'aimerais pouvoir boucler sur toutes les Texbox qui s'appellent "Texbox" & i en les désactivant si la ChexBox est cochée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim i As Integer
    For i = 1 To 5
    Controls("TextBox" & i).Text = ""
    Next
    J'ai vu que c'est boucle fonctionnait pour nommer des TextBox, mais je n'arrive pas à effectuer la même chose avec la propriété Enabled.

    Merci pour votre aide.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    comment procèdes-tu ?


    exemple pour te mettre sur la piste, si le Textbox est vide, on le désactive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim i As Integer
    For i = 1 To 5
        if Me.Controls("TextBox" & i).Text = "" Then
            Me.Controls("TextBox" & i).Enabled = False
        End if
    Next i

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bonjour,

    quel est ton problème ..?

    modifier la propriété enabled dans une boucle ne cause aucune difficulté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub CommandButton1_Click()
     Dim i As Integer
     For i = 1 To 3
        Controls("Textbox" & i).Enabled = Not Controls("Textbox" & i).Enabled
     
     Next
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      Dim i As Integer
      For i = 1 To 5
        With Controls("TextBox" & i): .Enabled = Len(.Text): End With
      Next
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    Merci pour vos aides.

    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
    Private Sub CheckBox1_Click()
     
        Dim i As Integer, Nbseq As Integer
     
            Nbseq = calculernbseq()
     
            If CheckBox1.Value = False Then
                For i = 1 To Nbseq
                    Controls("TextBoxTemps" & i).Enabled = Not Controls("TextBoxTemps" & i).Enabled
                    Controls("Labeltempsh" & i).Enabled = Not Controls("Labeltempsh" & i).Enabled
                Next
            Else
                For i = 1 To Nbseq
                    Controls("TextBoxTemps" & i).Enabled = Not Controls("TextBoxTemps" & i).Enabled
                    Controls("Labeltempsh" & i).Enabled = Not Controls("Labeltempsh" & i).Enabled
                Next
            End If
     
    End Sub
    Je n'ai pas très bien compris l'action de ce que tu as écris mais en bidouillant j'ai réussit.
    Je pensais qu'il fallait supprimer le NOT dans le Else, mais non ...

    En tout cas franchement un grand MERCI!
    Du coup j'ai fais pareil pour mais label.

    J'avais déjà eu le même problème, et ça ait une semaine que je cherchais, mais du coup j'avais fait autrement.

    Mais si quelqu'un a une solution, je suis prenneur.
    Au lieu d'avoir une checkBox générale désactivant des TextBox
    Je souhaitait avoir une CheckBox par ligne permettant d'activer (enabled) ou non deux OptionButton de cette même ligne

    J'avais un code de ce genre, mais cela ne fonctionnait pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        For i = 1 To Nbseq
           If CheckBox & i.Value = True Then
                    OptionButton1&i.Enabled = False  
                    OptionButton2&i.Enabled = False                                  
           Else
                    OptionButton1&i.Enabled = True 
                    OptionButton2&i.Enabled = True 
           End If
       Next i
    Enfin c'est compliqué, car je ne voudrait pas qu'il fasse une boucle, juste "faire", si je coche cette checkbox, ça désactive sa ligne.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le NOT que tu voulais enlever de la proposition de BBIL renverse la valeur booléenne (TRUE/FALSE) donc NOT(TRUE) donne FALSE (dit en français) ce qui n'est pas VRAI est FAUX.
    Les propriétés Value de CheckBox et Enabled de TextBox et d'autres contrôles d'ailleurs sont des valeurs booléenne il est donc parfaitement inutile de passer par un IF
    Donc ton code ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            If CheckBox1.Value = False Then
                For i = 1 To Nbseq
                    Controls("TextBoxTemps" & i).Enabled = Not Controls("TextBoxTemps" & i).Enabled
                    Controls("Labeltempsh" & i).Enabled = Not Controls("Labeltempsh" & i).Enabled
                Next
            Else
                For i = 1 To Nbseq
                    Controls("TextBoxTemps" & i).Enabled = Not Controls("TextBoxTemps" & i).Enabled
                    Controls("Labeltempsh" & i).Enabled = Not Controls("Labeltempsh" & i).Enabled
                Next
            End If
    Se limite à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("TextBoxTemps" & i).Enabled = NOT(CheckBox1.Value)
    La propriété Enabled de TextBoxTemps prendra la valeur booléenne inverse de CheckBox1.Value
    Tu fais la même chose pour Labeltempsh et tu imbriques ces deux lignes dans la boucle.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    Merci !
    C'est sur qu'il y a a moins à coder comme ça
    Par contre je n' ai pas mis le NOT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("TextBoxTemps" & i).Enabled = (CheckBox1.Value)
    Auriez vous une piste pour le problème posé à mon précédent message?

    Merci

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Par contre je n' ai pas mis le NOT
    Oui tout dépends de ce que tu souhaites.
    Sans le NOT la propriété Enabled du contrôle TextBox prend la même valeur que la propriété Value (qui est la propriété par défaut) du CheckBox avec le NOT, il prend la valeur inverse.
    Auriez vous une piste pour le problème posé à mon précédent message?
    S'il s'agit de cette question
    Au lieu d'avoir une checkBox générale désactivant des TextBox
    Je souhaitait avoir une CheckBox par ligne permettant d'activer (enabled) ou non deux OptionButton de cette même ligne
    Quel est le problème exactement ?
    Si tu sais faire une boucle sur un contrôle, il suffit de faire la même chose sur le deuxième.
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("TextBoxTemps" & i).Enabled = Controls("CheckBox" & i).Value
    (Attention, je n'ai pas testé mais je ne vois pas d'erreur de syntaxe)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    Merci de nouveau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("TextBoxTemps" & i).Enabled = Controls("CheckBox" & i).Value
    J'avais contourné le problème, et cela me prendrais pas mal de temps de re coder, car il y a pas mal d'inbrications de le code.
    Mais si je reprends ce que tu m'as dis cela donnerait quelquechose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i= 1 to n
    Controls("Combobox1" & i).Enabled = Controls("CheckBox" & i).Value
    Controls("Combobox2" & i).Enabled = Controls("CheckBox" & i).Value
    Next
    Et lorsqu'il y a des combobox, il y en a forcément une d'activer. Mais si je veux forcer en plus la désactivation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i= 1 to n
    Controls("Combobox1" & i).Enabled = Controls("CheckBox" & i).Value
    Controls("Combobox2" & i).Enabled = Controls("CheckBox" & i).Value
    Controls("Combobox1" & i).Value = Controls("CheckBox" & i).Value
    Controls("Combobox2" & i).Value = Controls("CheckBox" & i).Value
    Next
    En plus de mal codé je crois que j'avais fais l'erreur de mal placer le code. Il était placé dans la sub de la génération de la userform dans un module et non dans le code de la userform elle même (en private sub).

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    D'abord TextBox puis ComboBox . Deux contrôles qui ne font pas du tout la même chose.
    Si tu expliquais ce que tu souhaites faire en français et pas avec des bouts de code, l'aide que l'on pourrait t'apporter serait sans doute plus efficace.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  11. #11
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    J'ai refait rapidement mon cas dans une userform, se sera plus simple à expliquer, ci dessous l'image illustrant la chose

    49073_zadazd.png.html


    Le nombre de cas est variable, je ne les ai pas créés, ils sont générés en fonctions du nombre de sous dossiers d'un dossiers.
    Ensuite pour chaque cas, j'aimerais, si la case activation est coché ; pouvoir "enabled" et mettre leur valeur à "false" pour les 2 optionbutton de la ligne, ainsi que les labels des noms des cas.

    Ai-je été assez explicit?

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Alors d'après l'image que tu as mise en vue, il y a par ligne dans le UserForm, Un contrôle Label, deux OptionButton et un CheckBox.
    Que veux tu obtenir concrètement ?
    Ensuite pour chaque cas, j'aimerais, si la case activation est coché ; pouvoir "enabled" et mettre leur valeur à "false" pour les 2 optionbutton de la ligne, ainsi que les labels des noms des cas.
    Si je traduis ce que tu écris, tu aimerais que si le CheckBox de la ligne (variable i) est coché (valeur TRUE), la propriété des contrôles Label, OptionButon 1 et 2 (mais comment sont-il nommés ?) Label soit à FALSE (c'est à dire inaccessible).
    En supposant que les différents contrôles soient nommés Label+i, OptionButton1+i, OptionButton2+i et CheckBox+i

    Voici un exemple avec mise à jour si on clique sur un CommandButton nommé CommandButton1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
      Dim i As Integer
      For i = 1 To 3
        Controls("Label" & i).Enabled = Not (Controls("CheckBox" & i).Value)
        Controls("OptionButton1" & i).Enabled = Not (Controls("CheckBox" & i).Value)
        Controls("OptionButton2" & i).Enabled = Not (Controls("CheckBox" & i).Value)
      Next
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  13. #13
    Membre régulier
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Points : 96
    Points
    96
    Par défaut
    Oui c'est ça je pense.
    Ce code je peux le mettre dans le "Userform_Activate" au lieu d'un CommandButton ?

    Je suis désoler, je viens de me rendre compte que j'avais confondu ComboBox et OptionButton.

    Autre question :

    Quand s'affiche la userform, pour chaque ligne j'ai au moins 1 OptionButton qui à la Valeur = True .
    Si je veux leur donner la valeur False à tout les deux, je dois rajouter cette ligne dans la boucle for ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("OptionButton2" & i).Value = Not (Controls("CheckBox" & i).Value)
    Merci beaucoup pour toutes vos solutions !

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu...
    Bonjour

    coder pour coder
    tu avais aussi la double condition simplifié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 To Nbseq
                    Controls("TextBoxTemps" & i).Enabled = IIf(CheckBox1.Value, CheckBox1.Value, True)
                    Controls("Labeltempsh" & i).Enabled = IIf(CheckBox1.Value, CheckBox1.Value, True)
                Next
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour Patrick,
    Citation Envoyé par patricktoulon Voir le message
    Bonjour
    coder pour coder
    tu avais aussi la double condition simplifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 To Nbseq
                    Controls("TextBoxTemps" & i).Enabled = IIf(CheckBox1.Value, CheckBox1.Value, True)
                    Controls("Labeltempsh" & i).Enabled = IIf(CheckBox1.Value, CheckBox1.Value, True)
                Next
    Tu es vraiment certain que c'est plus simple de passer par un IIF plutôt que de passer tout suite la valeur ou la non valeur (NOT) ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  16. #16
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quand s'affiche la userform, pour chaque ligne j'ai au moins 1 OptionButton qui à la Valeur = True .
    Si je veux leur donner la valeur False à tout les deux, je dois rajouter cette ligne dans la boucle for ?
    Il faudrait savoir avant tout à quoi correspond les OptionButton, dans quel cas l'un doit être activé ou pas.
    Si une option doit être activée en fonction d'un critère, il faut savoir lequel
    Faire une analyse de tes besoins est la priorité.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Bonjour Philippe

    je suis d'accords avec toi c'est pour ca que j'ai dis coder pour coder

    j'ai simplement repris sa double condition if, else ,end if en une seule

    Re

    d'apres ce que j'ai vu sur la capture d'ecran

    il y a des ligne de controls

    1label ,1optionbutton , un 2eme optionbutton,1checkbox

    si c'est que je crois

    checkbox coché = les controls de la même ligne enabled et inverse si checkbox décoché

    alors une solution ultra simple

    Un truc du genre

    mettre dans le tag de chaque control y compris le checkbox un numéro de ligne

    mettre ceci dans le click de chaque checkbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    routine_enable_disable  nom du checkbox
    ensuite la routine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sub routine_enable_disable  (check as object)
    'ensuite tout simplement faire un boucle
    for each ctrl in me.controls
    if typename (ctrl)<>"CheckBox" and ctrl.tag=check.tag then ctrl.enabled=check.value
    next
    la on pourrais même parler de classe pour contrôles si vous voulez
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    voila un exemple parle mieux que des mots
    récupère l'exemplaire je le laisserais pas longtemps
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [VBA E] boucle sur textbox d'une userform
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 03/07/2006, 20h37

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