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 08/10/2007, 17h22   #1
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Par défaut Ajout et modification d'une checkbox

Bonjour,

Au cours d'un publipostage d'access97 vers word2003, j'insère des cases à cocher dans un tableau.
J'arrive à les insérer, mais le problème vient quand je veux les modifier. En effet, elles sont insérer avec la valeur 0, une étiquette à coté et un peu trop grosse. Je voudrais donc leur donner la valeur 1 et supprimer le label.

Mon code est:

Code :
1
2
3
4
 
Doc.ActiveWindow.Selection.InlineShapes.AddOLEControl "Forms.Checkbox.1" 
Doc.ActiveWindow.Selection.FormFields(1).CheckBox.Value = True
Doc.FormFields(1).CheckBox.Value = True
L'erreur intervient à la deuxième ligne, il me dit qu'il ne trouve pas l'objet demandé. Je pense que le problème vient donc de l'index 1.

Quelqu'un aurait il une idée?

Merci d'avance.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 08h05   #2
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
J'ai trouvé une autre manière d'en insérer une et la manipuler, mais le problème c'est que la valeur vrai de cette checkbox est avec une croix dedans et non un v !

Voila le code:

Code :
1
2
3
4
With Doc.ActiveWindow.Selection.FormFields.add(Doc.ActiveWindow.Selection.Range, wdFieldFormCheckBox)
                    .CheckBox.Value = True
                    .CheckBox.Size = 2
                End With
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 08h22   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Perso, je n'ai jamais vu de V, j'ai toujours vu des X.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 08h32   #4
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Quand tu insères la checkbox depuis le code de mon premier message, ce n'est pas la même que celle du second message.
Et celle du premier message correspond au même type de checkbox que tu insère manuellement dans word.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 09h30   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Suite à ta remarque, j'ai un peu cherché, et je peux expliquer la différence entre les deux CheckBox.

L'une est issue du mode formulaire de Word et l'autre du mode formulaire Internet.
C'est ce qui fait la différence d'apparence.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 09h36   #6
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Merci pour ta réponse.
Sais tu comment je peux manipuler la première ? Avec le v à l'intérieur. Je cherche juste à gérer sa taille, sa valeur et son label mais je cherche depuis un bout de temps et pas de résultat.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 10h16   #7
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Je vais chercher, mais ce ne sera pas dans l'immédiat.
Suite à ta demande, j'ai même envisagé une autre solution, trois petits gifs, un carré gris vide, avec un V vert et avec une croix rouge.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 10h18   #8
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Ok, merci.
Je vais voir de mon coté ce que je peux faire.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 11h23   #9
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
J'ai un peu avancé

Pour avoir ma checkbox cochée, voilà comment je fais

Code :
1
2
3
 
MsgBox ActiveDocument.HTMLCheckbox1.Value
ActiveDocument.HTMLCheckbox1.Checked = True
Dans la première ligne, j'ai bien la valeur True, j'ai ensuite ajouté la seconde ligne pour l'afficher cochée.
En fait, elle n'affiche pas sa valeur.
Pour preuve, je lui donne la valeur False et je lui demande d'être cochée, ça passe.

Code :
1
2
3
4
5
6
 
With ActiveDocument.HTMLCheckbox1
    .Checked = True
    .Height = 100
    .Width = 50
End With
Pour modifier ses autres attributs.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 11h24   #10
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Oubli de ma part,

Il faut ajouter la référence à "Microsoft HTML Object Library " dans ton projet.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 11h52   #11
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Merci pour tes réponses, mais comment insères tu la checkbox ?

Comme ça:

Code :
Doc.ActiveWindow.Selection.FormFields.add(Doc.ActiveWindow.Selection.Range, wdFieldFormCheckBox)
ou comme ça:

Code :
Doc.ActiveWindow.Selection.InlineShapes.AddOLEControl("Forms.checkbox.1")
Ou autrement.

La propriété HTMLCheckbox1 n'est pas disponible.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 12h01   #12
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Code :
Selection.InlineShapes.AddOLEControl ClassType:="Forms.HTML:Checkbox.1"
Par défaut le nom donné par Word est HTMLChekcBox1, 2,

Tu peux redéfinir le nom par VBA ou utiliser le nom donné.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 12h57   #13
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Merci beaucoup, ça m'enlève une grosse épine du pied.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web