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

VBA Word Discussion :

Mettre automatiquement des OptionButton.Enabled à false dans un Private Sub


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2007
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Mettre automatiquement des OptionButton.Enabled à false dans un Private Sub
    Bonjour à tous,
    étant novice en vba je souhaite optimiser le code sur certaines actions.
    je soufaite par exemple que si

    ** mon Checkbox1.value = false, mettre automatiquent les Optionbutton à false et que cela n'impacte pas les optionbutton de d'autres private Sub.
    ** et au même moment, met OptionButton.value = false ( ceci pour supprimer toutes les cases qui ont été cochées dans le même Private Sub sans affecter les autres)

    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
     
    Private Sub CheckBox1_Click()
    If Me.CheckBox1.Value = True Then
             Me.OptionButton7.Enabled = True
             Me.OptionButton8.Enabled = True
             Me.OptionButton9.Enabled = True
             Me.OptionButton10.Enabled = True
             Me.OptionButton11.Enabled = True
             Me.OptionButton12.Enabled = True
             Me.OptionButton13.Enabled = True
             Me.OptionButton14.Enabled = True
             Me.OptionButton15.Enabled = True
             Me.OptionButton16.Enabled = True
             Me.OptionButton17.Enabled = True
             Me.OptionButton18.Enabled = True
             Me.OptionButton28.Enabled = True
             Me.OptionButton29.Enabled = True
             Me.OptionButton30.Enabled = True
     
             Else
     
             If Me.CheckBox1.Value = False Then
     
             Me.OptionButton7.Enabled = False
             Me.OptionButton8.Enabled = False
             Me.OptionButton9.Enabled = False
             Me.OptionButton10.Enabled = False
             Me.OptionButton11.Enabled = False
             Me.OptionButton12.Enabled = False
             Me.OptionButton13.Enabled = False
             Me.OptionButton14.Enabled = False
             Me.OptionButton15.Enabled = False
             Me.OptionButton16.Enabled = False
             Me.OptionButton17.Enabled = False
             Me.OptionButton18.Enabled = False
             Me.OptionButton28.Enabled = False
             Me.OptionButton29.Enabled = False
             Me.OptionButton30.Enabled = False
            End If
    End If
    j'ai pu adapter le code ( pris sur le net) ci-dessous dans un autre document word qui fonctionne bien. mais lorsque je l'essaye dans un autre, il a agit sur tous les OptionButton du document.

    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
     
     
    Private Sub CheckBox1_Click()
    If Me.CheckBox1.Value = True Then
     
     
                For Each ControleEnCours In ActiveDocument.InlineShapes
            If ControleEnCours.Type = wdInlineShapeOLEControlObject Then
                If ControleEnCours.OLEFormat.ClassType = "Forms.OptionButton.1" Then
                 ControleEnCours.OLEFormat.Object.Enabled = True    ' Active tous les OptionButton
                End If
            End If
        Next
     
     
      Else
     
             If Me.CheckBox1.Value = False Then
     
                For Each ControleEnCours In ActiveDocument.InlineShapes
            If ControleEnCours.Type = wdInlineShapeOLEControlObject Then
                If ControleEnCours.OLEFormat.ClassType = "Forms.OptionButton.1" Then
                   ControleEnCours.OLEFormat.Object.Value = False      ' Remet tous les OptionButton à 0
                   ControleEnCours.OLEFormat.Object.Enabled = False    ' Désactive tous les OptionButton
                End If
            End If
        Next
            End If
    End If
     
    End Sub
    ** Je dispose aussi d'un champ TextBox ou je parviens à mettre l'année en cours, mais j'aimerais que cette date soit incrementée d'une année.
    c.a.d 2022 +1 = 2023 par exemple
    ci-dessous mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox9_Change()
    TextBox9.Value = Format(Now, "yyyy") + "1"
    End Sub

    Je n'ai pas de userform

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2007
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,
    personne pour me donner un coup de main ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/09/2010, 12h54
  2. Réponses: 2
    Dernier message: 17/02/2010, 21h32
  3. [phpBB][3] Mettre automatiquements des smiley
    Par troumad dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 09/04/2008, 12h58
  4. Réponses: 4
    Dernier message: 26/03/2008, 09h43
  5. Réponses: 6
    Dernier message: 03/07/2006, 14h23

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