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 FOR


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Par défaut boucle FOR
    bonsoir,

    j'ai une erreur, surement à la con, mais je trouve pas

    si vous avez une idée... je suis preneur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim I As Integer
     
    If picsou >= donald Then
        For I = 1 To 5
            Controls ("CommandButton" & (I) & "_Click().Enabled = False")
        Next I
    End If
    merci

  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 : 52
    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
    Je verrais plutot quelque chose comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Dim ct As Control
     
    For Each ct In Controls
     
        ct.Enabled = False
     
     
    Next

  3. #3
    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 : 52
    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
    Et si tu veux desactiver uniquement les comandbutton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim ct As Control
     
    For Each ct In Controls
        If TypeOf ct Is CommandButton Then
            ct.Enabled = False
        End If
    Next
    Typeof te donne le type d'objet

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonsoir tlm,

    For Each ct In Controls est tout à fait correct avec une petite nuance, là on désactive tous les boutons.

    Une variante du code proposé par jfontaine, si tu as X boutons et que tu veux désactiver les boutons de 1 à 5 (en supposant que les boutons se trouvent directement sur la feuille)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim I%
    If picsou >= donald Then
    For I = 1 To 5
    ActiveSheet.Shapes("CommandButton" & I).Select
    Selection.Enabled = False
    ActiveSheet.Select
    Next
    End If
    @+

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    Citation Envoyé par petitbonhom
    Dim I As Integer
    If picsou >= donald Then
    For I = 1 To 5
    Controls ("CommandButton" & (I) & "_Click().Enabled = False")
    Next I
    End If
    es tu sur que tes commandbouton s'appelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CommandButton" & (I) & "_Click().
    c'est assez surprenant. le mieux serait de les rebatiser pour plus de simplicité, tu as du prendre le nomsur le code généré, en fait, ça serais plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim I As Integer
    If picsou >= donald Then
        For I = 1 To 5
            Controls ("CommandButton" & (I) .Enabled = False")
        Next I
    End If

    ensuite la propriété que tu modifie n'a pas de raison de se trouvé dans la parenthese, ce qui donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim I As Integer
    If picsou >= donald Then
        For I = 1 To 5
            Controls ("CommandButton" & (I) ).Enabled = False
       Next I
    End If
    et pour terminer, il serait mieux de désigner ou sont placé tes command boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim I As Integer
    If picsou >= donald Then
    For I = 1 To 5
    me.Controls ("CommandButton" & (I) ).Enabled = False
    Next I
    End If
    et ça marche

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Par défaut
    nikel !

    c'est le "_Click()" qui ne devait pas être dans la boucle...

    merci

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

Discussions similaires

  1. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

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