Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2007, 21h30   #1
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Créationd'une userForm

Bonjour,
Est-il possible d’enregistrer les données saisies dans une UserForm de manière à pouvoir réutiliser les données déjà saisies pour réaliser un nouveau document ou modifier un doc existant. Je souhaite "Enregistrer sous"en quittant.Comment faire en sachant que je ne suis pas un crack en programation ?
Merçi d'avance
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2007, 10h54   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je suppose que ton texte sera saisi dans des Textbox que tu auras placés dans ton userform.
Pour insérer dans le doc, tu te places au point d'insertion (on verra ça plus tard quand tu en seras là) et tu mets cette ligne de code
Code :
Application.selection.InsertAfter Textbox1.text 'ou InsertBefore...
Pour l'insérer au "bon endroit', tu as plusieurs solutions, après un signet, dans une page, après une balise... etc
Mais je te conseille de jeter un oeil dans la FAQ et de lire les tutos
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 10h23   #3
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

Bonjour ouskel'n'or,

Merci beaucoup de ta réponse, Pour ce qui concerne les tutoriels et FAQ, si tu pouvais me donner des liens ce serait Top car je suis malvoyant et les recherches dans des écrans où il y a beaucoup d’informations me sont difficiles.

En ce qui concerne le document final que je veux réaliser dans Word, baptisé “fs.doc“ il s’agit d’un tableau contenant du texte réparti dans une quinzaine de cellules. contenant des TextBox que j’ai renommé par des signets.

J’ai ensuite crée un modèle de document “BilKin.dot“ où j’ai inséré mes macros et mes UserForms ainsi que les codes que j’ai pu trouver pour faire fonctionner mes TextBox et listes déroulantes.
Avec le code suivant j’ai réussi à faire migrer le contenu d’une liste déroulante nommé caractère vers une textbox nonméeDouleurs1 située sur mon modèle fs.doc qui s’ouvre pour recevoir les données de l’UserForm1:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub CommandButton1_Click()
ChangeFileOpenDirectory "C:\BILKIN\"
Documents.Open FileName:="fs.doc", _
ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto
'
'
'insère le signet Observ_dr ->Observ_dr1  du modèle "fs"
ActiveDocument.FormFields("Observ_dr1").Result = Observ_dr.Value
ActiveDocument.FormFields("douleurs1").Result = Caractèredr.Value
End Sub
Ce code me permet de faire migrer une combobox et une textbox vers deux text box du document “fs.doc “et d’ouvrir ce document.

Ce que je souhaite maintenant c’est :
1) d’une part en cours de saisie dans cette userform1 de pouvoir quitter si nécessaire et ne pas perdre lors de la réouverture les données déjà saisies dans les différentes zones donc sauver en quittant par la croix si besoin..
2) Rajouter dans l’UserForm1 des contrôles CheckBox ComboBox
a) Je cherche un code pour associer le click de ces cases à cocher à l’affichage d’un texte dans une Textbox située dans l’userform1.et faire migrer aussi les autres contrôles dans cette zone
b) Il faut que je puisse envoyer dans cette Textbox plusieurs ComboBox ou CheckBox En fait cette ttextbox doit me permettre de faire la synthèse de tout le texte saisi dans l’UserForm1.
3) Mon projet est donc de faire migrer cette textbox par un Command bouton de validation quand cette zone est OK.
4) Rajouter d’autres UserForms ou encore mieux créer des onglets pour compléter les autres rubriques de mon document fs.doc final qui comporte une cinquantaine de lignes une fois terminé.

Voilà grosso modo pour ce modèle. Après ci ca marche j’aurai d’autres fiches bâties sur ce modèle avec quelques variations dans le contenu des données à saisir.

J’aimerai aussi savoir si compte tenu des données à gérer cela semble réalisable ou s’il vaudrait mieux concevoir la création d’un logiciel avec VBA Express 2005 que je ne connaît pas plus que ça, associé à une base de données.
Tout ça est un peu long a expliquer et surement encore plus à faire.

Merci d’avance a bientôt

Ps ; Le plus urgent : Codes pour envoyer les textes des contrôles CheckBox Et ComboBox vers TextBox de la même UserF_
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 10h47   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Ici, tu as la FAQ WORD. Un clic sur ici t'y conduira.
Pour les tutos, je n'ai pas ça mais je te les cherche.
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 11h21   #5
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

Merci :bcp Rapide la réponse!. Je voulais rajouter que s'il y a des kinés qui lisent et qui ont des compétences en informatique et ce qui va suivre risque fort de les intéresser. Ils peuvent donc poster et venir nous rejoindre dans cette discussion.
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 11h39   #6
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Citation:
Envoyé par clodius46
1) d’une part en cours de saisie dans cette userform1 de pouvoir quitter si nécessaire et ne pas perdre lors de la réouverture les données déjà saisies dans les différentes zones donc sauver en quittant par la croix si besoin
Je réponds déjà à cette question.
Pour enregistrer ton document lors que tu fermes l'userform par la croix, mets ton code de sauvegarde dans l'événement QueryClose del'userform
Code :
1
2
3
4
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveDocument.save
DoEvents 'laisse au système le temps d'enregistrer le document avant de fermer
End Sub
Mais tu peux aussi neutraliser la croix en mettant
Code :
1
2
3
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = True
End Sub
pour contraindre l'utilisateur d'enregistrer avant de quitter.
Pour ta seconde question, pourquoi effectuer une action si le checkbox est coché, par exemple récupérer la sélection dans le combobox, c'est assez simple
Code :
If me.checkBox1 then Donnee = me.Combo1.value
où "me" représente l'userform quel qu'il soit.
Tu peux aussi désirer insérer l'item du combobox dans le document, auquel cas ce sera
Code :
If me.checkBox1 then Application.Selection.insertAfter
Où "Selection" est le point d'insertion du texte dans le document. Ce peut être la fin du document, un signet ou une balise. La balise peut être un mot ou un caractère spécial inséré dans le texte afin de faciliter la recherche par le code.
Pour placer la sélection dans le combobox dans un textbox, c'est
Code :
me.textbox1.text = me.Combo1.value
Pour ajouter du texte au textbox (une nouvelle sélection dans le combobox par exemple) c'est
Code :
me.Textbox1.text = me.Textbox1.text &  me.Combo1.value
Pour tes autres questions, il y a trop de paramètres variables pour répondre comme ça. Veux-tu créer les contrôles que tu veux ajouter en dynamique ?
Si oui, bien sûr c'est faisable mais c'est tout de suite plus compliqué.
Néanmoins je ne veux pas te décourager. Quand tu en seras là, on verra la procédure à suivre. Tu devrais commencer par réaliser ton userform, à placer des données dansle combo, à les récupérer dans le Textbox, à les placer dans ton document que tu sauvegarderas en quittant

Pour les tutos, je m'en occupe
A+

Edit
Tu trouveras les tutoriels ici
Bon courage
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 15h00   #7
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

C’est bon j’ai testé le transfert des ComboBox vers la textbox c’est ok pour ce code. Le souci c’est que lorsque sélectionne une autre ComboBox j’efface le texte déjà saisi dans la textbox.
Pour les CheckBox je veux envoyer quand je clique le texte associé à la propriéte Caption “Douleur nocturne “par exemple

Donc en résumé je mets dans mon UserForms :
- ChekBox1 associé à “Douleur nocturne “ (il me faut un code pour ecrirece texte)
- ChekBox2 associé à “entraînant le réveil “
- ComboBox1 je sélectionne la réponse “de l’épaule gauche“
- ComboBox2 je sélectionne la réponse “EVA: 5/10“
- TextBox1 ( il me faut la méthode pour placer où il faut les données dans cette TB)
- Command Bouton 1 pour valider et transférer vers le doc fs.doc ( j’ai les codes pour cette action)
Résultat : j’affiche dans TextBox1 la phrase
“Douleurs nocturnes de l’épaule gauche entraînant le réveil, EVA ; 5/10“ je valide avec mon CommandBouton -> c’est transféré dans mon document Word fs.doc

Donc normalement avec deux ou trois codes de plus cela doit etre bon pour construire ma première UserForm et renseigner la première rubrique de ma fiche de synthèse “fs.doc“
@+++ !!

Je pense que je commence à trouver ouskel'n'or,dur dur la prog !!!! et peut-être même que je vais trouver le sud à force de pédaler dans la choucroute.
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2007, 23h43   #8
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je sais que j'arrive en retard...
Donc, pour ne pas effacer le textbox quand tu ajoutes une indication, tu as mal lu je te l'ai mis. Ça donne
Code :
1
2
3
me.Textbox1.text = me.Textbox1.text &  me.Combo1.value
'Et pour copier le caption d'un ChekBox1 associé à “Douleur nocturne “, tu mets
me.Textbox1.text = me.Textbox1.text &  me.Chekbox1.caption
A+
Bonne nuit
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 01h40   #9
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

Merci beaucoup. Je vais essayer de tester un de ces soirs.Je te tiens au courant. Pour les tuto malgré le lien j'ai du mal à trouver ou alors je ne sais pas chercher. Bonne nuit à toi aussi.
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 00h46   #10
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

Bonsoir,
Je suis un peu perdu :
1) J'ai intégré le code pour la checkbox
Code :
1
2
3
Private Sub CheckBox1_Click()
      Me.Observ_dr.Text = Me.Observ_dr.Text & Me.CheckBox1.Caption
      End Sub
Pour la TextBox j'ai mis le code
Code :
1
2
3
Private Sub Observ_dr_Change()
      Me.Observ_dr.Text = Me.Observ_dr.Text & Me.Caractèredr.Value
      End Sub
Lors du click le nom affecté à la propriété Caption de la checbox s'affiche dans la textBox renommée Obsev_dr (c'est normal) mais lorsque je sélectionne une réponse dans la combobox1 renommée Caractèredr la sélection s'affiche indéfiniment dans la textbox Observ_dr
2) Si je mets 2 cases à cocher + 2 listes déroulantes je rajoute quel code et où
3) Je souhaite créer des onglets mais comment faire pour y intégrer des contrôles distincts.
Je te remercie par avance de tes réponses
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2007, 14h14   #11
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Place ton code dans Observ_dr_Mouse_Up
Code :
1
2
3
Private Sub Observ_dr_Mouse_Up(ByVal Button As Integer, ............)
      Me.Observ_dr.Text = Me.Observ_dr.Text & Me.Caractèredr.Value
End Sub
Tu dis
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2007, 15h01   #12
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

Bonjour ouskel'n'or,

C'est fait mais cela ne fonctionne pas correctement.
1) Le click mais aussi le declick de la sur la checkbox entraine l'affichage de la la propriété caption "nocturne" dans la textbox
2) la sélection d'une ligne de la combobox entraine l'affichage dans la text box mais efface l'action du click dans la textbox
3) Un nouveau click ou declick -> ajout de la caption sans effacer la sélection de la combobox
4) Chaque click dans la textbox rajoute la sélection de la Combobox

Excuse moi j'ai la tête un peu dure
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2007, 22h03   #13
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6


En fait je viens de trouver la solution : il suffit de mettre dans la textbox le code suivant pour afficher plusieurs contrôles dans la même text box :

Code :
Code :
1
2
3
Private Sub Observ_dr_Change()
Me.Observ_dr.Text = Me.CheckBox1.Caption & Me.Caractèredr.Value & Me.Evaluation.Value
End Sub
Maintenant il me reste à mettre en place des onglets TabStrip et d'intégrer dans ces onglets les contrôles sur schéma ci-dessus.
Si tu peut me donner les codes et la procédure ce serait parfait.
Une fois fait je mettrai au propre et sur le forum.

bcp
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 22h02   #14
Invité régulier
 
Avatar de clodius46
 
Inscription : août 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 67
Points : 6
Points : 6
Par défaut Enregistrement d'une userForm

Bonsoir Ouskeln'or

Je reviens à l'enregistrement de l'userform. J'ai placé le code comme tu me l'indique:
Code :
1
2
3
4
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveDocument.save
DoEvents 'laisse au système le temps d'enregistrer le document avant de fermer
End Sub
Il n'y as pas de problèmes pour enregistrer le document final mais ce que je veux sauvegarder c'est l'UserForm elle même avec les réponses et textes sélectionnés .
Voila Merci pour toutes tes réponses.
clodius46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h29.


 
 
 
 
Partenaires

Hébergement Web