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 24/09/2011, 11h26   #1
Invité de passage
 
Homme Ben D.
Formateur en informatique
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Ben D.
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Automatiser la création de checkbox (ActiveX)

Bonjour à tous,

je me permets de solliciter votre aide sur un projet de document Word sur lequel je suis complètement bloqué.

Pour résumer la situation, je souhaite automatiser la création d'un document dans lequel va figurer un certain nombre de "modules" préalablement sélectionner via un TreeView dans un UserForm. La validation me permet de générer la liste des "modules" à afficher dans le document. Cette liste est enregistrée dans un fichier texte temporaire avec le format suivant:

COMPTEUR;NIVEAU;VALEUR;LIBELLE

COMPTEUR = compteur incrémentiel
NIVEAU = clé dans le treeview
VALEUR = Vrai/Faux pour savoir si je dois faire figurer ou non le module
LIBELLE = texte que je souhaite insérer dans ma checkbox en Caption

Jusque là pas de soucis. Je génère mon fichier sans problème et je fais ensuite appel à ma fonction Insertion_Checkbox pour insérer les checkbox en fonction de mon fichier texte.

Code :
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
Public Sub Insertion_Checkbox()
	Dim Fichier
 
	Fichier = FreeFile
 
	Open Left(Chemin, InStr(Chemin, "\DOCUMENTS")) & "\DONNEES\MODULES.TXT" For Input As Fichier
 
	Do While Not EOF(Fichier)
		Line Input #Fichier, Chaine
		Modules = Split(Chaine, ";")
 
		If Modules(2) = "Vrai" Then
			ActiveDocument.InlineShapes.AddOLEControl ClassType:="Forms.CheckBox.1"
			With ActiveDocument.CheckBox1
				.Width = 471.75
				.AutoSize = True
				.Caption = Libelle
				.Value = True
				.Name = "Modules_" & Ordre
			End With
		End If
 
	Loop
 
	Close Fichier
 
End Sub
Ca fonctionne pas trop mal si ce n'est que la génération me donne un résultat étrange :
[] checkboxN...
[] checkbox7
[] checkbox6
[] checkbox5
[] checkbox4
[] checkbox3
[] checkbox2
[X] Libellé du dernier module

Alors que je souhaite avoir :
[X] Libellé du premier module
[X] Libellé du second module
[X] Libellé du troisième module
...
[X] Libellé du dernier module

Je m'arrache les cheveux depuis quelques jours dessus...
Par avance merci à celles et ceux qui pourront m'apporter leur aide
JiBen44 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 20h41.


 
 
 
 
Partenaires

Hébergement Web