OVH Cloud OVH Cloud

Call entre userform et Thisdocument dans Word

1 réponse
Avatar
Congelator
Salut tout le monde,

J'ai un petit 'blèm... Je dois créer dans Word 10 rapports différents en
fontion des cases cochées sur la userform et de leurs combinaisons. Le
rapport se crée dans un tableau de 2 colonnes et j'insère des tabulation au
fur et à mesure des besoins. Certains rapports sont identiques avec une
petite différence dans l'intitulé, donc au lieu de retaper tout le code, je
l'ai mis dans Thisdocument et je l'appelle avec call. Dans la userform
(frm_entree) j'exécute un code. A un moment, j'appelle la procédure dans
Thisdocument.recid
Au moment de l'éxécution, tout se passe bien jusqu'à l'arrivée sur call
thisdocument.recid et là, il me dit qu'il y a un bug. J'ai essayé tout ce que
je connais (et c'est pas grand chose...donc je suis vite au bout ) sans
résultat.

Si qqn voit une solution, ça m'intéresse.
Voici le code dans frm_entree :
if...........then........
With Selection
'se déplace au signet défini
ActiveDocument.Bookmarks("Titre").Select
'insère le texte "examen"
.TypeText Text:="EXAMEN"
Selection.TypeParagraph
'appel de la mise en forme "normal"
Call ThisDocument.normal
.TypeText Text:="Statut"
ActiveDocument.Bookmarks("Debut").Select
'déplacement 2x dans la cellule suivante (à droite)
Selection.MoveRight Unit:=wdCell
Selection.MoveRight Unit:=wdCell
'End With

'jusque là... ça fonctionne !!!

'appel de la procédure "recid"
Call ThisDocument.recid

'et là ça plante !

Détails dans Thisdocument
Public Sub recid()
With Selection
'insertion du texte "formation"
.TypeText Text:="formation"
'se déplace de 2 cellules
' Selection.MoveRight Unit:=wdCell
' Selection.MoveRight Unit:=wdCell
'se déplace au signet "Titre"
' ActiveDocument.Bookmarks("Debut").Select
Selection.TypeText Text:="Annexes :"
Selection.MoveRight Unit:=wdCell
Selection.MoveRight Unit:=wdCell
Selection.TypeText Text:="Mesures :"
End With
End Sub

'retour dans frm_entree pour la suite du code.


Merci beaucoup pour vos suggestions.
--
Céd / Lausanne

1 réponse

Avatar
Congelator
Salut tout le monde,
Ne cherchez plus, j'ai trouvé. Pour info, plus loin dans mon code, j'avais
linstruction suivante :

Selection.TypeText Text:=tbox_prenom.Value + " " + nom.Value

et j'ai oublié de lui préciser que ces textbox se trouvaient dans la
userform "Entrée"

Selection.TypeText Text:=frm_entree.tbox_prenom.Value + " " +
frm_entree.tbox_nom.Value

Et maintenant... CA MARCHE !!! :-))
--
Céd / Lausanne


"Congelator" a écrit :

Salut tout le monde,

J'ai un petit 'blèm... Je dois créer dans Word 10 rapports différents en
fontion des cases cochées sur la userform et de leurs combinaisons. Le
rapport se crée dans un tableau de 2 colonnes et j'insère des tabulation au
fur et à mesure des besoins. Certains rapports sont identiques avec une
petite différence dans l'intitulé, donc au lieu de retaper tout le code, je
l'ai mis dans Thisdocument et je l'appelle avec call. Dans la userform
(frm_entree) j'exécute un code. A un moment, j'appelle la procédure dans
Thisdocument.recid
Au moment de l'éxécution, tout se passe bien jusqu'à l'arrivée sur call
thisdocument.recid et là, il me dit qu'il y a un bug. J'ai essayé tout ce que
je connais (et c'est pas grand chose...donc je suis vite au bout ) sans
résultat.

Si qqn voit une solution, ça m'intéresse.
Voici le code dans frm_entree :
if...........then........
With Selection
'se déplace au signet défini
ActiveDocument.Bookmarks("Titre").Select
'insère le texte "examen"
.TypeText Text:="EXAMEN"
Selection.TypeParagraph
'appel de la mise en forme "normal"
Call ThisDocument.normal
.TypeText Text:="Statut"
ActiveDocument.Bookmarks("Debut").Select
'déplacement 2x dans la cellule suivante (à droite)
Selection.MoveRight Unit:=wdCell
Selection.MoveRight Unit:=wdCell
'End With

'jusque là... ça fonctionne !!!

'appel de la procédure "recid"
Call ThisDocument.recid

'et là ça plante !

Détails dans Thisdocument
Public Sub recid()
With Selection
'insertion du texte "formation"
.TypeText Text:="formation"
'se déplace de 2 cellules
' Selection.MoveRight Unit:=wdCell
' Selection.MoveRight Unit:=wdCell
'se déplace au signet "Titre"
' ActiveDocument.Bookmarks("Debut").Select
Selection.TypeText Text:="Annexes :"
Selection.MoveRight Unit:=wdCell
Selection.MoveRight Unit:=wdCell
Selection.TypeText Text:="Mesures :"
End With
End Sub

'retour dans frm_entree pour la suite du code.


Merci beaucoup pour vos suggestions.
--
Céd / Lausanne