Champs obligatoires

Bonsoir,
J’ai créé une macro qui remplace des chaines de caractères identifiés entre crocher (<>) dans un document.
La macro affiche des formulaires demandant les textes pour remplacer les chaines de caractères dans le document.
Le problème est que les formulaires listent tous les champs possibles or ils ne sont pas tous présents dans le document.

Y aurait-il un moyen d’identifier les champs présents dans le documents et de les mettre en “valeur” dans les formulaires.

Bonjour @IOERROR

Il faudrait préciser la nature de ces “champs” : comment ont-ils été créés précisément ?

Cordialement

Bonjour les “champs” du document sont justes des chaînes de caractères entre crochet , par exemple ou <date_naissance>

@IOERROR

Merci pour la précision qui est d’importance puisque tu ne recherches pas des champs mais du texte et la réponse est donc complètement différente.

Tu peux par exemple, à l’ouverture du formulaire, boucler sur les zones de textes du formulaire pour rechercher dans le document si tu les trouves. Tu peux t’inspirer de cet exemple pour la recherche dans le texte.

Si le “champ” n’est pas trouvé tu peux par exemple masquer la zone de texte dans le formulaire à l’aide d’un code comme ce qui suit :

dim oDoc as object, oForm as object, oView as object, oCtrl as object, oViewCtrl as object

oDoc = thiscomponent
oView = oDoc.currentcontroller()
oForm = oDoc.drawpage.getforms().getbyname("Formulaire")

oCtrl=oForm.getbyname("Zone de texte 2")
oViewCtrl = oView.getcontrol(oCtrl)

with oViewCtrl
	.setVisible(not(.IsVisible))
end with 

Il faut naturellement adapter les noms (nom “interne” du formulaire, non de la zone de texte)

Cordialement