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 :

[VBA-W]Checkbox sous word


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut [VBA-W]Checkbox sous word
    Bonjour,
    J'ai crée 20 cases à cocher dans un document WORD.
    Sous VBA, Je voudrais suivant une condition X cocher ou décocher toute ces checkbox.
    Pour cela une boucle doit etre réaliser. J'ai bien essayé le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For i = 1 To 20
     
    chk(i).Value = False
    chk(i).Enabled = True
     
    Next i
    Chaque checkbox se nomme: "chkX" ou X est un entier
    (ds mon cas de 1 à 20)

    Vous comprendrez donc que je dois réaliser ce code afin déviter le code a répition suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     chk1.Value = False
        chk1.Enabled = True
        chk2.Value = False
        chk2.Enabled = True
        chk3.Value = False
        chk3.Enabled = True
        chk4.Value = False
        chk4.Enabled = True
        ...
    Je rappel que je suis sur l'application WORD...

    Merci d'avance.... [/code]

  2. #2
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub essai()
    Dim cmpt As Long, Controle As InlineShape, Check As MSForms.CheckBox
     
    With ActiveDocument
        For Each Controle In .InlineShapes
            If StrComp(Left(Controle.OLEFormat.Object.Name, 3), "chk", vbTextCompare) = 0 Then
                Set Check = Controle.OLEFormat.Object
                Check.Value = True
            End If
        Next
    End With
     
    End Sub

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut
    Merci bcp de cette réponse rapide

    Cependant, je ne comprend pas tous le code
    peux tu m'expliquer stp

    Merci

  4. #4
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    parcours de la collection InlineShapes qui contient les controles activeX du document.
    Identification des checkBox cibles par la racine du nom
    Action sur les checkBoxes

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut
    Citation Envoyé par bidou
    parcours de la collection InlineShapes qui contient les controles activeX du document.
    Identification des checkBox cibles par la racine du nom
    Action sur les checkBoxes
    Merci bcp...

    cependant lorsqu'il rencontre une image cela poste un problème comment y remedier ?

  6. #6
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    en testant l'existence de l'objet OleFormat, tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With ActiveDocument
        For Each Controle In .InlineShapes
            If Not Controle.OLEFormat Is Nothing Then
                If StrComp(Left(Controle.OLEFormat.Object.Name, 3), "chk", vbTextCompare) = 0 Then
                    Set Check = Controle.OLEFormat.Object
                    Check.Value = True
                End If
            End If
        Next
    End With

Discussions similaires

  1. EXCEL VBA et bookmarks sous WORD
    Par michels91 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/03/2013, 17h47
  2. [Débutant] [VBA sous Word] Retrouver les valeurs de CheckBox
    Par grovallat dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/07/2012, 08h42
  3. Réponses: 1
    Dernier message: 06/04/2009, 10h19
  4. [VBA-W] userform sous word
    Par fmris dans le forum VBA Word
    Réponses: 10
    Dernier message: 02/02/2007, 14h23
  5. [VBA-W] Curiosité sous word
    Par kawel dans le forum VBA Word
    Réponses: 2
    Dernier message: 10/08/2006, 17h19

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