Sub courrierBTF() ' Dim ObjWord As Word.Application Dim LeDocWord As Word.Document Dim NFacture As String Dim User As String Dim Chemin As String Dim Usine As String 'ouvre userform Facturation Facturation.Show User = Application.UserName Chemin = "C:\Users" & User & "\Desktop" Usine = ThisWorkbook.Worksheets("DI-MES").Range("AT67").Value 'Ouvre un modele de document World On Error Resume Next Set ObjWord = CreateObject("Word.Application") ObjWord.Visible = True Set LeDocWord = ObjWord.Documents.Open("C:\users" & User & "\Documents\ModeleSFF\BT_facture.dotx") 'lier des adresses de cellule aux signets Adresse_compta = [AW8] Adresse_DTS = [AT74] Atelier = [F57] 'Ecrit les cellules excel dans les signets World With LeDocWord .Bookmarks("Adresse_compta").Range.Text = Adresse_compta .Bookmarks("Adresse_DTS").Range.Text = Adresse_DTS .Bookmarks("Atelier").Range.Text = Atelier End With LeDocWord.SaveAs Filename:="C:\Users" & User & "\Desktop\BT Facture n° " & NFacture & " " & Atelier & ".doc" MsgBox ("Votre fichier a été enregistré sur le bureau sous le nom : BT Facture n° " & NFacture & " " & Atelier & ".doc") ObjWord.Quit Set ObjWord = Nothing End Sub _____________________________________ J'ai créé une userform "Facturation" avec 3 textbox code : Private Sub CommandButton9_Click() 'Bouton annulé doit arrêter l'exécution de la macro source ? Unload Me Exit Sub End Sub _________________________________________ Private Sub UserForm_Initialize() 'A l'ouverture de l'userform ecrit des valeurs dans les textbox TextBox1.Value = Sheets("GestionDTS").Range("C4").Value TextBox2.Value = Sheets("GestionDTS").Range("C6").Value TextBox3.Value = Format(TextBox1.Value, "dd/mm/yyyy") TextBox3.Value = Sheets("GestionDTS").Range("F4").Value End Sub ___________________________________________ Private Sub CommandButton8_Click() 'Bouton OK valide l'userform Dim Nfact As String Dim fact As String Dim dates As String Nfact = TextBox1.Value fact = TextBox2.Value dates = TextBox3.Value Sheets("GestionDTS").Range("C4").Value = Nfact Sheets("GestionDTS").Range("C6").Value = fact Sheets("GestionDTS").Range("F4").Value = dates Unload Me End Sub
Private Sub CommandButton1_Click() toto End Sub
Public Sub toto() Do While UserForm1.Visible = True UserForm1.Caption = Val(UserForm1.Caption) + 1 DoEvents Loop MsgBox "fini" End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic Arret As Boolean Sub macro() Range("A1").Value = "MACRO EN COURS" Do DoEvents 'bla bla bla Loop Until Arret = True Range("A1").Value = "MACRO ARRETEE" End Sub
Private Sub UserForm_Terminate() Arret = True End Sub
sauf le bouton annulé qui arrêt bien l'éxécution de l'userform, mais qui ne permet pas d'arrêter la macro
J'aimerais dans ce cas quand clic sur annulé de l'userform aller a la fin de l'exécution de la macro
Private Sub CommandButton9_Click() 'Bouton annulé doit arrêter l'exécution de la macro source ? Unload Me Exit Sub 'A quoi il sert LUI ???? End Sub
Sub courrierBTF() ' Dim ObjWord As Word.Application Dim LeDocWord As Word.Document Dim NFacture As String Dim User As String Dim Chemin As String Dim Usine As String 'ouvre userform Facturation Facturation.Show User = Application.UserName Chemin = "C:\Users" & User & "\Desktop" Usine = ThisWorkbook.Worksheets("DI-MES").Range("AT67").Value If Facturation.Visible = False Then Exit Sub 'Ouvre un modele de document World On Error Resume Next Set ObjWord = CreateObject("Word.Application") ObjWord.Visible = True Set LeDocWord = ObjWord.Documents.Open("C:\users" & User & "\Documents\ModeleSFF\BT_facture.dotx") 'lier des adresses de cellule aux signets Adresse_compta = [AW8] Adresse_DTS = [AT74] Atelier = [F57] If Facturation.Visible = False Then Exit Sub 'Ecrit les cellules excel dans les signets World With LeDocWord .Bookmarks("Adresse_compta").Range.Text = Adresse_compta .Bookmarks("Adresse_DTS").Range.Text = Adresse_DTS .Bookmarks("Atelier").Range.Text = Atelier End With If Facturation.Visible = False Then Exit Sub LeDocWord.SaveAs Filename:="C:\Users" & User & "\Desktop\BT Facture n° " & NFacture & " " & Atelier & ".doc" MsgBox ("Votre fichier a été enregistré sur le bureau sous le nom : BT Facture n° " & NFacture & " " & Atelier & ".doc") ObjWord.Quit Set ObjWord = Nothing End Sub