Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Suppression des champs - Multibox

Bonjour,

Est-il possible via une macro de supprimer l'ensemble des  champs via une macro VB ?

J'ai utilisé le script suivant  :

SUB ResetInputField

  set obj = ActiveDocument.GetSheetObject("MB06")

          for i =0 to 1000

  obj.RemoveField i

  next

END SUB

Mon souci c'est fixer le max de i. je n'arrive pas à récupérer la numéro de la dernière ligne remplie dans la multibox.

Auriez-vous des idées ?

merci

4 Replies
mambi
Creator III
Creator III

tu veux supprimer l'objet lui même ou bien les champs de l'objet ?

Not applicable
Author

Je voudrais supprimer les champs de l'objet.

La macro que j'ai écrit  :

SUB ResetInputField

  set obj = ActiveDocument.GetSheetObject("MB06")

for i =0 to 1000

  obj.RemoveField i

  next

END SUB

supprime les champs mais pas tous. Il faut appuyer plusieurs fois sur le bouton pour effacer entièrement les champs de l'objet.

En fait dans la boucle, je ne sais pas quelle valeur fixer pour la valeur maximale du i.

mambi
Creator III
Creator III

Bonjour, (l'explication est dans le commentaire du code)

SUB ResetInputField
set mb = ActiveDocument.GetSheetObject("MB06")
' Récupere le nombre de ligne dans la multibox
' Si l'objet était un tablebox il faudra utiliser GetColumnCount
nbRows = mb.GetRowCount

for i = 0 to nbRows
'pour effacer toutes les lignes d'un seul coup il faut
'commencer par supprimer la ligne avec la plus grande valeur et ainsi de suite
mb.RemoveField nbRows-1
' Re-value le nombre de ligne dans la multibox
     nbRows = mb.GetRowCount
next
END SUB

pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Sabrina,

Est-ce que l'option suivante pourrait répondre à vos besoins?

SUB ResetInputField

  set obj = ActiveDocument.GetSheetObject("MB06")

  obj.ResetInputFieldValues 0

END SUB


Cordialement,


Philippe