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

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 33
    Points
    33
    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 éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    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
    Jérôme

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    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
    Jérôme

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

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    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
    @+
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 33
    Points
    33
    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