Useform / prise des valeur et retour macro
Bonjour,
Je pense que j'ai une question toute bête mais je ne sais pas comment procéder. Je n'ai jamais utilisé de useform
En cliquant sur un bouton, j'active un USEFORM, je rentre les valeurs et dans le useform j'ai créé un autre bouton "ENVOYER",
Comment prendre les valeurs du useform, retourner à ma macro principal puis fermer le useform?
Le but et de mettre ces valeurs par le suite dans un fichier WORD, mais pour le moment ce que je veux c'est juste récuperer mes valeurs du formulaire et continuer ma macro
Public Harv As Integer, Marv As Integer, Hdeb As Integer, Mdeb As Integer, Hfin As Integer, Mfin As Integer
Sub EcriDansWord()
Dim WordObj As Object
On Error Resume Next
Set WordObj = CreateObject("Word.Application.8")
'Pour afficher Word
'Ajoute un document
Set Wordapp = CreateObject("word.Application")
Wordapp.Visible = True
'WordObj.Documents.Add
Wordapp.Documents.Open "C:\Users\UTILISATEUR\Desktop\test.doc"
UserForm1.Show
objDoc.Paragraphs(3).Range.Select
Harv = TextBox1.Value
Marv = TextBox2.Value
Hdeb = TextBox3.Value
Mdeb = TextBox4.Value
Hfin = TextBox5.Value
Mfin = TextBox6.Value
'ON MET EN FORME WORD (EN TEST)
With Wordapp.Selection
.MoveDown Unit:=wdLine, Count:=3
.Font.Size = 16
.Font.Bold = True
.TypeText Text:="Procédure pour écrire dans Word "
.TypeParagraph
.Font.Size = 16
.Font.Bold = True
.TypeText Text:="test ok"
.TypeParagraph
End With
End SubJe pense que je bloque pour pas grand chose
Merci pour vos réponse
Nico
Bonsoir,
Pour récupérer tes valeurs, il ne faut pas fermet le Userform avec ton bouton Envoyer ! Tu le masques.
Me.HideAlors retour à la proc. appelante où tu récupères tes valeurs et tu le fermes...
Partie de code correspondante :
With UserForm1
.Show
Harv = .TextBox1.Value
Marv = .TextBox2.Value
Hdeb = .TextBox3.Value
Mdeb = .TextBox4.Value
Hfin = .TextBox5.Value
Mfin = .TextBox6.Value
End With
Unload UserForm1Cordialement.
Merci pour ta réponse c'est exactement ce que je cherchais,
Private Sub CommandButton1_Click()
Me.Hide
End SubSub EcriDansWord()
Dim WordObj As Object
On Error Resume Next
Set WordObj = CreateObject("Word.Application.8")
'Pour afficher Word
'Ajoute un document
Set Wordapp = CreateObject("word.Application")
Wordapp.Visible = True
'WordObj.Documents.Add
Wordapp.Documents.Open "C:\Users\UTILISATEUR\Desktop\test.doc"
UserForm1.Show
objDoc.Paragraphs(3).Range.Select
With UserForm1
.Show
Harv = .TextBox1.Value
Marv = .TextBox2.Value
Hdeb = .TextBox3.Value
Mdeb = .TextBox4.Value
Hfin = .TextBox5.Value
Mfin = .TextBox6.Value
End With
Unload UserForm1
'ON MET EN FORME WORD (EN TEST)
With Wordapp.Selection
.MoveDown Unit:=wdLine, Count:=3
.Font.Size = 16
.Font.Bold = True
.TypeText Text:="Procédure pour écrire dans Word "
.TypeParagraph
.Font.Size = 16
.Font.Bold = True
.TypeText Text:="test ok"
.TypeParagraph
End With
End SubSais-tu pourquoi dois-je cliquer deux fois sur le bouton envoyé situé dans le useform pour que sa fonctionne?
Sinon un grand merci a toi
Cordialement
Nicolas
Tu m'as fait transpirer là !
Je te dis pas la batterie d'essais... J'ai même mis un bouton dans le Userform2 embryonnaire avec bouton de lancement... pour constater qu'il se masquait au premier clic !
J'ai quand même fini par voir que tu as conservé un :
UserForm1.Showque j'avais supprimé pour l'intégrer dans :
With UserForm1
.ShowCe qui fait qu'on lance deux fois l'ouverture...
En supprimant effectivement le premier, ça revient à la normale...
Cordialement.
lol excellent, je mets crée des problemes tt seul
Merci encore
Nico