Bonjour à tous,
J'ai créé un formulaire avec des cases à cocher provenant d'une
macrobutton. Je dois reporter le résultat dans un autre formulaire qu i
lui est fait de champs de formulaire case à cocher.
J'ai réussi à faire la macro suivante qui détermine si la case (m arquée
d'un signet) est cochée ou non et elle est fonctionnelle.
Le problème c'est que j'ai environ une vingtaine de cases à analyse r
dans ce formulaire.
Je me demandais si c'était possible de faire cette procédure sur
plusieurs signets sans réécrire le code pour chaque signet que je v eux
analyser. Un peu comme une fonction, mais je dois vous avouer que j'ai
de la difficulté à créer cette fonction si celle-ci est possible.
Sub AnalyseCoche()
'Fonctionne pour la macro Checkit et Uncheckit
Dim strTemp As String
Dim rep As Boolean
ActiveWindow.View.ShowFieldCodes = True
ActiveDocument.Bookmarks("CTibCalVal").Select 'Sélectionne la
macrobutton marquée d'un signet
strTemp = Selection.Text
Debug.Print strTemp
strTemp = Mid(strTemp, 16, 3)
Debug.Print strTemp
ActiveWindow.View.ShowFieldCodes = False
If strTemp = "Che" Then
rep = False
Else
rep = True
End If
End Sub
Je prends toutes les suggestions que vous me proposerez.
Merci
Jocelyne
Bonjour à tous,
J'ai créé un formulaire avec des cases à cocher provenant d'une
macrobutton. Je dois reporter le résultat dans un autre formulaire qu i
lui est fait de champs de formulaire case à cocher.
J'ai réussi à faire la macro suivante qui détermine si la case (m arquée
d'un signet) est cochée ou non et elle est fonctionnelle.
Le problème c'est que j'ai environ une vingtaine de cases à analyse r
dans ce formulaire.
Je me demandais si c'était possible de faire cette procédure sur
plusieurs signets sans réécrire le code pour chaque signet que je v eux
analyser. Un peu comme une fonction, mais je dois vous avouer que j'ai
de la difficulté à créer cette fonction si celle-ci est possible.
Sub AnalyseCoche()
'Fonctionne pour la macro Checkit et Uncheckit
Dim strTemp As String
Dim rep As Boolean
ActiveWindow.View.ShowFieldCodes = True
ActiveDocument.Bookmarks("CTibCalVal").Select 'Sélectionne la
macrobutton marquée d'un signet
strTemp = Selection.Text
Debug.Print strTemp
strTemp = Mid(strTemp, 16, 3)
Debug.Print strTemp
ActiveWindow.View.ShowFieldCodes = False
If strTemp = "Che" Then
rep = False
Else
rep = True
End If
End Sub
Je prends toutes les suggestions que vous me proposerez.
Merci
Jocelyne
Bonjour à tous,
J'ai créé un formulaire avec des cases à cocher provenant d'une
macrobutton. Je dois reporter le résultat dans un autre formulaire qu i
lui est fait de champs de formulaire case à cocher.
J'ai réussi à faire la macro suivante qui détermine si la case (m arquée
d'un signet) est cochée ou non et elle est fonctionnelle.
Le problème c'est que j'ai environ une vingtaine de cases à analyse r
dans ce formulaire.
Je me demandais si c'était possible de faire cette procédure sur
plusieurs signets sans réécrire le code pour chaque signet que je v eux
analyser. Un peu comme une fonction, mais je dois vous avouer que j'ai
de la difficulté à créer cette fonction si celle-ci est possible.
Sub AnalyseCoche()
'Fonctionne pour la macro Checkit et Uncheckit
Dim strTemp As String
Dim rep As Boolean
ActiveWindow.View.ShowFieldCodes = True
ActiveDocument.Bookmarks("CTibCalVal").Select 'Sélectionne la
macrobutton marquée d'un signet
strTemp = Selection.Text
Debug.Print strTemp
strTemp = Mid(strTemp, 16, 3)
Debug.Print strTemp
ActiveWindow.View.ShowFieldCodes = False
If strTemp = "Che" Then
rep = False
Else
rep = True
End If
End Sub
Je prends toutes les suggestions que vous me proposerez.
Merci
Jocelyne
Ah oui, euh, la version sans le N, comme ça, pour faire joli :
Sub ListeChk()
Dim Fd As FormField
For Each Fd In ActiveDocument.FormFields
If Fd.Type = wdFieldFormCheckBox Then
Debug.Print Fd.Name, Fd.CheckBox.Value
End If
Next
End Sub
Ah oui, euh, la version sans le N, comme ça, pour faire joli :
Sub ListeChk()
Dim Fd As FormField
For Each Fd In ActiveDocument.FormFields
If Fd.Type = wdFieldFormCheckBox Then
Debug.Print Fd.Name, Fd.CheckBox.Value
End If
Next
End Sub
Ah oui, euh, la version sans le N, comme ça, pour faire joli :
Sub ListeChk()
Dim Fd As FormField
For Each Fd In ActiveDocument.FormFields
If Fd.Type = wdFieldFormCheckBox Then
Debug.Print Fd.Name, Fd.CheckBox.Value
End If
Next
End Sub
Gloops a exprimé avec précision :
(J'ai pris ces exemples d'obtention de cases dans les
modèles de télécopie de Word 2003 ou 2002.)
Gloops a exprimé avec précision :
(J'ai pris ces exemples d'obtention de cases dans les
modèles de télécopie de Word 2003 ou 2002.)
Gloops a exprimé avec précision :
(J'ai pris ces exemples d'obtention de cases dans les
modèles de télécopie de Word 2003 ou 2002.)
Jocelyne a écrit, le 14/03/2010 04:58 :Gloops a exprimé avec précision :
merci :)(J'ai pris ces exemples d'obtention de cases dans les modèles de télécopie
de Word 2003 ou 2002.)
Ah, ben oui, c'est ça qu'il faut préciser, ça évite d'aller voir sur Google,
de tomber sur un anti-popup, tout ça ...
Bon alors à ce que je comprends le bouton exécute une macro CheckIt ou une
macro UnCheckIt. Sur le plan fonctionnel, il me semble que la différence par
rapport aux cases à cocher de formulaire est d'ordre esthétique ? D'où la
présence sur un fax, effectivement.
En tout cas, je ne vois guère d'obstacle à utiliser le même code pour savoir
ce que ces boutons ont dans les tripes :
Sub ListeChk()
Dim Fd As Field
For Each Fd In ActiveDocument.Fields
If Fd.Type = wdFieldMacroButton Then
Debug.Print Fd.Index, Chr(34) + Fd.Code + Chr(34)
Select Case Fd.Code
Case " MACROBUTTON CheckIt "
Debug.Print "Celle-ci n'est pas cochée"
Case " MACROBUTTON UnCheckIt "
Debug.Print "Celle-ci est bien cochée"
Case Else
Debug.Print "Ce machin-là n'est pas dans mes bataillons"
End Select
End If
Next
End Sub
Attention cette affaire-là est sensible au nombre d'espaces, et si jamais il
y a des paramètres de précisés alors il faut en tenir compte. Bien vérifier
la casse de UnCheckIt, si elle est différente on tombera dans le cas par
défaut, à moins de tout convertir en majuscules ou en minuscules.
Pour être plus souple face à des modifications au niveau du code du bouton on
peut chercher du côté de Split, éventuellement après avoir remplacé le nombre
de fois qu'il faut deux espaces consécutifs par un et vérifié si il y en a un
au début et un à la fin.
Il y a vraiment quelque chose d'esthétique à faire avec ces cases à cocher ou
il s'agit juste de faire entrer des options ?
On pourrait prendre le problème dans l'autre sens, entrer les choix avec un
formulaire (ou une boîte de dialogue, mais ça ça suppose d'étudier la
création d'une boîte de dialogue), et ensuite faire la mise en forme en
reprenant le code (ou une partie du code) de CheckIt et UnCheckIt.
Jocelyne a écrit, le 14/03/2010 04:58 :
Gloops a exprimé avec précision :
merci :)
(J'ai pris ces exemples d'obtention de cases dans les modèles de télécopie
de Word 2003 ou 2002.)
Ah, ben oui, c'est ça qu'il faut préciser, ça évite d'aller voir sur Google,
de tomber sur un anti-popup, tout ça ...
Bon alors à ce que je comprends le bouton exécute une macro CheckIt ou une
macro UnCheckIt. Sur le plan fonctionnel, il me semble que la différence par
rapport aux cases à cocher de formulaire est d'ordre esthétique ? D'où la
présence sur un fax, effectivement.
En tout cas, je ne vois guère d'obstacle à utiliser le même code pour savoir
ce que ces boutons ont dans les tripes :
Sub ListeChk()
Dim Fd As Field
For Each Fd In ActiveDocument.Fields
If Fd.Type = wdFieldMacroButton Then
Debug.Print Fd.Index, Chr(34) + Fd.Code + Chr(34)
Select Case Fd.Code
Case " MACROBUTTON CheckIt "
Debug.Print "Celle-ci n'est pas cochée"
Case " MACROBUTTON UnCheckIt "
Debug.Print "Celle-ci est bien cochée"
Case Else
Debug.Print "Ce machin-là n'est pas dans mes bataillons"
End Select
End If
Next
End Sub
Attention cette affaire-là est sensible au nombre d'espaces, et si jamais il
y a des paramètres de précisés alors il faut en tenir compte. Bien vérifier
la casse de UnCheckIt, si elle est différente on tombera dans le cas par
défaut, à moins de tout convertir en majuscules ou en minuscules.
Pour être plus souple face à des modifications au niveau du code du bouton on
peut chercher du côté de Split, éventuellement après avoir remplacé le nombre
de fois qu'il faut deux espaces consécutifs par un et vérifié si il y en a un
au début et un à la fin.
Il y a vraiment quelque chose d'esthétique à faire avec ces cases à cocher ou
il s'agit juste de faire entrer des options ?
On pourrait prendre le problème dans l'autre sens, entrer les choix avec un
formulaire (ou une boîte de dialogue, mais ça ça suppose d'étudier la
création d'une boîte de dialogue), et ensuite faire la mise en forme en
reprenant le code (ou une partie du code) de CheckIt et UnCheckIt.
Jocelyne a écrit, le 14/03/2010 04:58 :Gloops a exprimé avec précision :
merci :)(J'ai pris ces exemples d'obtention de cases dans les modèles de télécopie
de Word 2003 ou 2002.)
Ah, ben oui, c'est ça qu'il faut préciser, ça évite d'aller voir sur Google,
de tomber sur un anti-popup, tout ça ...
Bon alors à ce que je comprends le bouton exécute une macro CheckIt ou une
macro UnCheckIt. Sur le plan fonctionnel, il me semble que la différence par
rapport aux cases à cocher de formulaire est d'ordre esthétique ? D'où la
présence sur un fax, effectivement.
En tout cas, je ne vois guère d'obstacle à utiliser le même code pour savoir
ce que ces boutons ont dans les tripes :
Sub ListeChk()
Dim Fd As Field
For Each Fd In ActiveDocument.Fields
If Fd.Type = wdFieldMacroButton Then
Debug.Print Fd.Index, Chr(34) + Fd.Code + Chr(34)
Select Case Fd.Code
Case " MACROBUTTON CheckIt "
Debug.Print "Celle-ci n'est pas cochée"
Case " MACROBUTTON UnCheckIt "
Debug.Print "Celle-ci est bien cochée"
Case Else
Debug.Print "Ce machin-là n'est pas dans mes bataillons"
End Select
End If
Next
End Sub
Attention cette affaire-là est sensible au nombre d'espaces, et si jamais il
y a des paramètres de précisés alors il faut en tenir compte. Bien vérifier
la casse de UnCheckIt, si elle est différente on tombera dans le cas par
défaut, à moins de tout convertir en majuscules ou en minuscules.
Pour être plus souple face à des modifications au niveau du code du bouton on
peut chercher du côté de Split, éventuellement après avoir remplacé le nombre
de fois qu'il faut deux espaces consécutifs par un et vérifié si il y en a un
au début et un à la fin.
Il y a vraiment quelque chose d'esthétique à faire avec ces cases à cocher ou
il s'agit juste de faire entrer des options ?
On pourrait prendre le problème dans l'autre sens, entrer les choix avec un
formulaire (ou une boîte de dialogue, mais ça ça suppose d'étudier la
création d'une boîte de dialogue), et ensuite faire la mise en forme en
reprenant le code (ou une partie du code) de CheckIt et UnCheckIt.
Un gros merci Gloops, je vais tester ton code.
Je sais, ma structure de formulaire semble complexe mais je n'avais pas
d'autres choix que de faire comme ça selon mes connaissances dans Wor d.
Je ne pouvais pas utiliser le vrai formulaire avec des checkbox et
textbox car une fois protégé, l'utilisateur ne peut plus utiliser l es
options de dessin même si la section est déprotégée.
Aussi, la création
du document (évaluation médicale)
débute par une UserForm que
l'utilisateur remplit dans un premier temps. Par la suite, les autres
informations sont entrées directement le document avec les champs de
saisie et ces infos ne sont pas saisies immédiatement.
Une grande parties des informations saisies dans l'évaluation doivent
être reportées dans différents documents dont un formulaire avec
CheckBox etc.
En tout cas encore merci de tout l'aide que vous m'apportez.
Un gros merci Gloops, je vais tester ton code.
Je sais, ma structure de formulaire semble complexe mais je n'avais pas
d'autres choix que de faire comme ça selon mes connaissances dans Wor d.
Je ne pouvais pas utiliser le vrai formulaire avec des checkbox et
textbox car une fois protégé, l'utilisateur ne peut plus utiliser l es
options de dessin même si la section est déprotégée.
Aussi, la création
du document (évaluation médicale)
débute par une UserForm que
l'utilisateur remplit dans un premier temps. Par la suite, les autres
informations sont entrées directement le document avec les champs de
saisie et ces infos ne sont pas saisies immédiatement.
Une grande parties des informations saisies dans l'évaluation doivent
être reportées dans différents documents dont un formulaire avec
CheckBox etc.
En tout cas encore merci de tout l'aide que vous m'apportez.
Un gros merci Gloops, je vais tester ton code.
Je sais, ma structure de formulaire semble complexe mais je n'avais pas
d'autres choix que de faire comme ça selon mes connaissances dans Wor d.
Je ne pouvais pas utiliser le vrai formulaire avec des checkbox et
textbox car une fois protégé, l'utilisateur ne peut plus utiliser l es
options de dessin même si la section est déprotégée.
Aussi, la création
du document (évaluation médicale)
débute par une UserForm que
l'utilisateur remplit dans un premier temps. Par la suite, les autres
informations sont entrées directement le document avec les champs de
saisie et ces infos ne sont pas saisies immédiatement.
Une grande parties des informations saisies dans l'évaluation doivent
être reportées dans différents documents dont un formulaire avec
CheckBox etc.
En tout cas encore merci de tout l'aide que vous m'apportez.
Attention, il existe deux types de cases à cocher dans Word (en ne
comptant pas les éléments graphiques des fax) :
- celles qu'on crée à partir de la barre d'outils "Formulaires"
- celles qu'on crée à partir de celle qui s'appelle "Boîte à ou tils
Contrôles"
Seule la première catégorie est concernée par ce reproche.
Attention, il existe deux types de cases à cocher dans Word (en ne
comptant pas les éléments graphiques des fax) :
- celles qu'on crée à partir de la barre d'outils "Formulaires"
- celles qu'on crée à partir de celle qui s'appelle "Boîte à ou tils
Contrôles"
Seule la première catégorie est concernée par ce reproche.
Attention, il existe deux types de cases à cocher dans Word (en ne
comptant pas les éléments graphiques des fax) :
- celles qu'on crée à partir de la barre d'outils "Formulaires"
- celles qu'on crée à partir de celle qui s'appelle "Boîte à ou tils
Contrôles"
Seule la première catégorie est concernée par ce reproche.
Gloops a écrit, le 14/03/2010 18:25 :Attention, il existe deux types de cases à cocher dans Word (en ne comptant
pas les éléments graphiques des fax) :
- celles qu'on crée à partir de la barre d'outils "Formulaires"
- celles qu'on crée à partir de celle qui s'appelle "Boîte à outils
Contrôles"
Seule la première catégorie est concernée par ce reproche.
Une précision quand même, le premier bouton de la boîte à outils Contrôles,
qui représente une sorte d'équerre, permet de quitter le mode création ou d'y
revenir, pour soit ajouter ou retirer des contrôles, soit s'en servir.
L'avantage sur le verrouillage des formulaires est qu'il n'empêche pas
d'utiliser les outils de dessin.
Gloops a écrit, le 14/03/2010 18:25 :
Attention, il existe deux types de cases à cocher dans Word (en ne comptant
pas les éléments graphiques des fax) :
- celles qu'on crée à partir de la barre d'outils "Formulaires"
- celles qu'on crée à partir de celle qui s'appelle "Boîte à outils
Contrôles"
Seule la première catégorie est concernée par ce reproche.
Une précision quand même, le premier bouton de la boîte à outils Contrôles,
qui représente une sorte d'équerre, permet de quitter le mode création ou d'y
revenir, pour soit ajouter ou retirer des contrôles, soit s'en servir.
L'avantage sur le verrouillage des formulaires est qu'il n'empêche pas
d'utiliser les outils de dessin.
Gloops a écrit, le 14/03/2010 18:25 :Attention, il existe deux types de cases à cocher dans Word (en ne comptant
pas les éléments graphiques des fax) :
- celles qu'on crée à partir de la barre d'outils "Formulaires"
- celles qu'on crée à partir de celle qui s'appelle "Boîte à outils
Contrôles"
Seule la première catégorie est concernée par ce reproche.
Une précision quand même, le premier bouton de la boîte à outils Contrôles,
qui représente une sorte d'équerre, permet de quitter le mode création ou d'y
revenir, pour soit ajouter ou retirer des contrôles, soit s'en servir.
L'avantage sur le verrouillage des formulaires est qu'il n'empêche pas
d'utiliser les outils de dessin.
Et pour terminer, la programmation sur ces objets me rend la vie
difficile car, avec les petits tests que j'ai faits, il semble que le
code doit être placé dans ThisDocument du projet et je ne parviens pas à
l'ajouter à mes autres modules.
J'avoue que je n'ai pas beaucoup de temps pour apprendre à coder les
Contrôles ActiveX. Un jour peut-être!!!
Je vais regarder ce que vous me proposez. J'apprécie grandement ce qu e
vous faites.
Et pour terminer, la programmation sur ces objets me rend la vie
difficile car, avec les petits tests que j'ai faits, il semble que le
code doit être placé dans ThisDocument du projet et je ne parviens pas à
l'ajouter à mes autres modules.
J'avoue que je n'ai pas beaucoup de temps pour apprendre à coder les
Contrôles ActiveX. Un jour peut-être!!!
Je vais regarder ce que vous me proposez. J'apprécie grandement ce qu e
vous faites.
Et pour terminer, la programmation sur ces objets me rend la vie
difficile car, avec les petits tests que j'ai faits, il semble que le
code doit être placé dans ThisDocument du projet et je ne parviens pas à
l'ajouter à mes autres modules.
J'avoue que je n'ai pas beaucoup de temps pour apprendre à coder les
Contrôles ActiveX. Un jour peut-être!!!
Je vais regarder ce que vous me proposez. J'apprécie grandement ce qu e
vous faites.