Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2006, 14h34   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 4
Points : 0
Points : 0
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 :
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 :
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]
Naim0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 14h52   #2
Expert Confirmé Sénior

 
Avatar de bidou
 
Inscription : mai 2002
Messages : 3 052
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 3 052
Points : 4 101
Points : 4 101
par exemple

Code :
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
__________________
Tutoriels VB
Cours
bidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 15h13   #3
Invité de passage
 
Inscription : décembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 4
Points : 0
Points : 0
Merci bcp de cette réponse rapide

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

Merci
Naim0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 15h18   #4
Expert Confirmé Sénior

 
Avatar de bidou
 
Inscription : mai 2002
Messages : 3 052
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 3 052
Points : 4 101
Points : 4 101
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
__________________
Tutoriels VB
Cours
bidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 15h26   #5
Invité de passage
 
Inscription : décembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 4
Points : 0
Points : 0
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 ?
Naim0r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 15h34   #6
Expert Confirmé Sénior

 
Avatar de bidou
 
Inscription : mai 2002
Messages : 3 052
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 3 052
Points : 4 101
Points : 4 101
en testant l'existence de l'objet OleFormat, tel que :
Code :
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
__________________
Tutoriels VB
Cours
bidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h55.


 
 
 
 
Partenaires

Hébergement Web