Demande d'aide pour formulaire

bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009 - 28 mai 2009 à 10:57
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009 - 4 juin 2009 à 13:13
Bonjour j'ai un soucis.
Je veux faire un petit formulaire à remplir avec des champs obligatoire et l'impossibilité de sauvegarder si cela n'est pas rempli.

j'ai donc cré un module de classe afin de faire une fonction DocumentBeforeSave.
Le soucis c'est que je n'arrive jamais à sauvegarder meme quand les champs sont remplis.
Je vous joint mon code pour que vous puissiez voir d'ou vient mon erreur.
Le document est composé de text box et de bouton radio. Je voudrais deja arriver avec les text box je m'occuperais des boutons radio plus tard.
Ceci est le module de classe

Option Explicit
Public WithEvents appWord As Word.Application
Dim Sauvegarder As Boolean


 


Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)


Sauvegarder = False


If ThisDocument.TextBox1.Value <> "" Then
If ThisDocument.TextBox2.Value <> "" Then
If ThisDocument.TextBox3.Value <> "" Then
If ThisDocument.TextBox4.Value <> "" Then
If ThisDocument.TextBox5.Value <> "" Then
If ThisDocument.TextBox13.Value <> "" Then


    Sauvegarder = True
End If
End If
End If
End If
End If
End If




If Not Sauvegarder Then
   MsgBox "Veuillez saisir les informations manquantes", vbExclamation
Cancel = True
Else
Cancel = False


End If
End Sub




Ceci est le code du formullaire

Option Explicit
Dim V As New EventClassModule

Private Sub Document_New()
Set V.appWord = Word.Application


End Sub

14 réponses

steph064 Messages postés 90 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 10 juin 2009
28 mai 2009 à 14:25
T'as essayé de mettre .text au lieu de .value ?
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
28 mai 2009 à 15:35
J'ai testé et même soucis je n'arrive pas à sauvegarder j'ai toujours mon propre message d'erreur comme quoi je n'ai pas remplis tout les champs alors que je l'ai fait!!!

Je comprend vraiment pas le probleme je n'arrive pas à faire passer mon boolean sauvegarder à true pour autoriser la sauvegarde.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 mai 2009 à 23:45
salut,

Set V.appWord = New Word.Application

vérifie bien de passer dans le Document_New()
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
29 mai 2009 à 08:59
Si je met un new alors je peut sauvegarder tout le temps alors que les champs ne sont pas remplis.

Je pense que cela vient de la manière donc je met mon Sauvegarder en true ou non.

Je fais différent test mais ca marche pas.

Quelqu'un a une autre idée??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
29 mai 2009 à 09:03
En fait le but est de faire un template mais quand j'utilise mon template je remarque que le code se trouve dans la partie template et pas dans le nouveau fichier cré.
Cela change t il quelque chose??
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2009 à 09:08
tu as essayé en pas à pas?
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
29 mai 2009 à 09:16
c'est à dire?

j'ai essayé ca mais toujours bloqué sous le message.

Sauvegarder = (ThisDocument.TextBox1.Text <> "")
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2009 à 09:28
es-tu sur de passer dans le code de ta classe?
exécution en pas à pas, F8
mets des points d'arrêt si nécessaire
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
29 mai 2009 à 09:48
j'ai testé il n'y a pas d'erreur. mais lors de l'affectation du boolean sauvegarde la variable est toujours fausse quelque soit le fait que la textbox n'est pas vide.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2009 à 10:09
Sauvegarder = (len(ThisDocument.TextBox1.Text > 0))

sauf que si ton document n'est pas attaché a ta classe... :)
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
29 mai 2009 à 10:17
pareil lol toujours même soucis.
Pense tu que cela vient du fait que ce soit un template et que donc il n'a pas accès au bon champ???
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2009 à 10:32
que donne le PAS à PAS ?!!
(je pense que l'évènement du doc n'est pas relevé)
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
29 mai 2009 à 10:38
Private Sub Document_New()
Set V.appWord = Word.Application


End Sub

le pas à pas ne passe que par la.
A priori il ne passe pas dans le module de class.
Mais comment peut t il afficher mon message??
0
bgan Messages postés 12 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 23 juin 2009
4 juin 2009 à 13:13
Up un ptit peu d'aide siouplait.
0
Rejoignez-nous