Bonjour le forum,
j'ai un bout de code qui rempli les signets d'un document word en fonction des valeurs saisies dans les textbox du USF.
Ceci fonctionne très bien, mais aujourd'hui je souhaite insérer un IF avant mon impression :
Si mon textbox10 est vide, alors une boite de dialogue s'ouvre pour demander le nombre d'impression (dans ce cas, les signets 9 et 10 ne seront pas à remplir)
Le but etant de ne pas refaire bêtement un copier/coller d'une grande partie de mon code...
Comment m'y prendre ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 Private Sub CommandButton3_Click() On Error Resume Next Dim WordApp As Object Dim WordDoc As Object Dim n As Integer Dim Client As String Dim Numero As String Dim Adress1 As String Dim Adress2 As String Dim cp As String Dim ville As String Dim ref As String Dim qtt As Integer Client = TextBox3.Text Numero = TextBox4.Text Adresse1 = TextBox5.Text Adresse2 = TextBox6.Text cp = TextBox7.Text ville = TextBox8.Text ref = TextBox9.Text qtt = TextBox10.Text Ici je mets par exemple : if TextBox10.value <> "" then For i = 1 To qtt Set WordApp = CreateObject("Word.Application") 'ouvre session word Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\mon_profil\Bureau\Etiquette.doc") 'ouvre document Word WordApp.Visible = False 'word masqué pendant l'operation WordDoc.Bookmarks("Text1").Range.Text = Client 'Remplace Signet Texte(x) dans wd par valeur textbox WordDoc.Bookmarks("Text2").Range.Text = Numero WordDoc.Bookmarks("Text3").Range.Text = Adresse1 WordDoc.Bookmarks("Text4").Range.Text = Adresse2 WordDoc.Bookmarks("Text5").Range.Text = cp WordDoc.Bookmarks("Text6").Range.Text = ville WordDoc.Bookmarks("Text7").Range.Text = "Ref:" & ref WordDoc.Bookmarks("Text9").Range.Text = "Colis :" & " " & i & " " & "/" 'Remplace Signet Texte(x) dans wd par valeur textbox WordDoc.Bookmarks("Text10").Range.Text = qtt ' Mise en forme de la font dans word Set myRange = WordDoc.Range(Start:=WordDoc.Bookmarks("Text1").Start, End:=WordDoc.Bookmarks("Text2").End) With myRange .Font.Name = "Verdana" .Font.Size = 22 .Bold = True .Italic = False End With Set myRange2 = WordDoc.Range(Start:=WordDoc.Bookmarks("Text2").Start, End:=WordDoc.Bookmarks("Text5").End) With myRange2 .Font.Name = "Verdana" .Font.Size = 17 .Bold = True .Italic = False End With Set myRange3 = WordDoc.Range(Start:=WordDoc.Bookmarks("Text5").Start, End:=WordDoc.Bookmarks("Text7").End) With myRange3 .Font.Name = "Verdana" .Font.Size = 17 .Bold = True .Italic = True End With WordApp.Application.ActivePrinter = "TEC B-SX4" WordApp.ActiveDocument.PrintOut 'WordApp.Visible = True 'Affiche le doc word WordApp.Application.ActivePrinter = "mon_imprimante" WordApp.ActiveDocument.Close False 'Ferme le document sans enregister Next WordApp.DisplayAlerts = wdAlertsNone WordApp.Quit For x = 1 To 10 Controls("TextBox" & x).Value = "" Next ici je met mon : else...et ci-dessous je veux pas resaisir tout mon code pour faire la même chose en fait.... End Sub
Suis-je clair dans ma demande, voyez-vous où je veux en venir ?
Partager