1 pièce(s) jointe(s)
Remplir des signets case à cocher (checkbox) dans word
Bonjour Claude,
Merci pour cet excellent tuto. Je découvre et redécouvre Access en autodidacte à chaque fois qu'un nouveau problème se pose à moi.
J'ai une question ancillaire pour la version avec signets : que faudrait-il changer dans le code Access pour qu'un champ booléen (oui/non, vrai/faux, 0/-1), complète une case à cocher (signet checkbox) dans le document word ?
Je cherche à compléter un document type contenant des cases à cocher, que j'ai remplacé dans le document Word par des signets checkbox (qui prennent la valeur soit "activé" ou "désactivé").
Exemple :
le document word contient le texte suivant :
Pièce jointe 453672
J'ai créée le champ booléen correspondant dans ma table intitulé "EtatCivil" (la même appellation que le signet) mais je pense qu'il faut alors dans ce cas mentionner une autre commande que Text dans le code suivant :
Code:
.ActiveDocument.Bookmarks.("EtatCivil").Range.Text = rs.Fields("EtatCivil")
Il y a peut-être un autre moyen d'arriver au résultat?
Merci par avance,
Bien cordialement,
Bidouille pour cases à cocher avec signets
Bonjour Claude,
Je viens de trouver une "solution" en contournant le problème.
Dans la requête alimentant la table qui est utilisée pour générer les courriers, je transforme ma variable booléenne : le vrai devient "R" et le faux "£" :
Code:
EtatCivil: VraiFaux([Tb_TraitementMR]![EtatCivil];"R";"£")
Et je donne à mes signets dans le document word la police Wingdings2, taille 14. De cette manière je génère des cases cochées si c'est vrai et des cases vides si c'est faux.
Après ce tutoriel magistral, j'avoue avoir un peu honte de cette bidouille...:oops:
Encore une fois merci, j'ai réellement appris plein de chose en décortiquant le code.
Bien cordialement,
Merci pour ce super tuto et question publipostage "multiples"
Bonjour
Tout d'abord, je tiens à remercier l'auteur de ce super tutoriel et de ces codes. Cela fonctionne à merveille. En tout cas, pour mon projet actuel, ça répond à 99 % de mes besoins.
J'ai cependant une situation pour laquelle je n'arrive pas à adapter le code.
Je souhaite éditer un modèle type pour lequel il y a plusieurs destinataires (tParametres comprend plusieurs lignes). Cependant, au lieu de créer 1 seul fichier word sur l'ensemble des enregistrements (destinataires), j'aurai aimé créer autant de .docx que que destinataires (sachant que cela reste dans la dizaine et qu'ainsi, je ne risque pas de submerger l'ordinateur de milliers d'ouvertures de word).
Quelqu'un sait t-il comment cela pourrait se faire ?
J'ai pensé à une boucle de type
Code:
1 2
| .FirstRecord = 1
.LastRecord = 1 |
ou alors une boucle autour de
Code:
"SELECT * FROM [tParametres]"
Dans le code suivant...
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
| Private Sub CreerDoc()
Dim wdapp As Word.Application
Dim NomDoc As String
Set wdapp = New Word.Application
CheminDocPerso = DossierAffaire & "\" & Format(Date, "yyyymmdd") & "-" & NomFichier(CheminDocType)
With wdapp
.Visible = True
' Ouvrir le document type
.Documents.Open CheminDocType
.ActiveDocument.MailMerge.OpenDataSource _
Name:=CurrentDb.Name, _
LinkToSource:=True, _
Connection:="Table tParametres", _
SQLStatement:="SELECT * FROM [tParametres]"
.ActiveDocument.MailMerge.Execute
.ActiveDocument.SaveAs2 CheminDocPerso
.Documents.Close
End With
' Fermer et libérer les objets
wdapp.Quit
Set wdapp = Nothing
' Ouvrir le doc perso
Call OuvrirDocPerso
End Sub |
Merci d'avance pour vos pistes.
Encore merci à ClaudeLELOUP