Private Sub CmB5_Click()
If CbB1.Value = "" Or TxB2.Value = "" Then Exit Sub
Call EcrireDansWord(CbB1.Value, TxB1.Value, TxB2.Value, TxB3.Value)
'Copier, à partir d'un UserForm, l'adresse sélectionnée dans enveloppe de publipostage Word et ouvrir la fenetre "aperçu avant impression"
'CbB1 = Nom, TxB1 = adresse rue, TxB2 = Code Postal, TxB3 = Ville ou commune
Unload UserForm8
Sheets("saisie").Select
Application.ScreenUpdating = True
Range("A1").Select
End Sub
ThisWorkbook.FollowHyperlink "F:\Bibliothèque\essai\envel_lecteur.doc"
Sub Test()
ImprimerDansword Array("MOn est prénom est ZOn", "J'habite une super region", "47 La ville du Pruneau")
End Sub
Sub ImprimerDansword(T)
Dim App As Object, Plage As Object
Dim I As Byte
If IsArray(T) Then
On Error Resume Next
'On regarde si 'il yb a une instance
Set App = GetObject(, "Word.Application")
'Si il y en a pas on en crée une
If Err <> 0 Then Set App = CreateObject("Word.Application")
With App
.Visible = True 'mettre à false pour cacher l'instance une fois les tests finis
.Activate
.documents.Add
With .Selection
For I = LBound(T) To UBound(T)
.TypeText Text:=T(I)
.TypeParagraph
Next I
End With
Set Plage = .activedocument.Range(0, .Selection.End)
Plage.Font.Size = 40
.activedocument.PageSetup.Orientation = 1 'Paysage
'""Partie pour imprimer""""""""""""""""""
'Voici ce que cela donnerait chez moi
'un bidouillage pour ouvrir le menu imprimer
'^p c'est le raccourci Ctrl+P
'%n me permet d'être dans liste des imprimantes ALT+n
'admettons que mon imprimante soit en 2 eme position de la liste
'je descends avec {DOWN} une fois
'je valide par entrée ~
'apres avec %o je vais dans les options avec alt+o
'je change le bac par défaut avec %b
'ensuite même proicédure avec {DOWN} pour selectionner celui qui t'intéresse
'et il me faut 3 tabulations pour aller sur OK
'je valide par entrée
' Application.SendKeys "^p%n{DOWN}~%o%b{DOWN}~{TAB}{TAB}{TAB}~", True
'Pour le test j'ouvre juste la boit de dialogue imprimer
Application.SendKeys "^p", True
'Une fois imprimer on fermera word sans sauvegarder les modifications du document créé
' .activedocument.Close False
End With
Set Plage = Nothing
Set App = Nothing
Else: MsgBox "Valeur Non trouvée", vbInformation, "Erreur"
End If
End Sub
Sub Test()
ImprimerDansword Array("MOn est prénom est ZOn", "J'habite une super region", "47 La ville du Pruneau")
End Sub
Sub Test()
Dim ZoneAdresse$
Dim Lefichier$
Lefichier = "C:\rappel_de_livresVZon.doc" ' à adpater
ZoneAdresse = "Mon pseudo est Zon " & vbCrLf & "333 rue de la soif" & vbCrLf & "47000 Agen"
'le Vbcrlf permet de sauter une ligne
ImprimerDanswordBoiteTexte Lefichier, "Text Box 7", ZoneAdresse
'
End Sub
Sub ImprimerDanswordBoiteTexte(CheminFichier$, NomBoite$, Ch$)
Dim App As Object
Dim I As Byte
If FichierExiste(CheminFichier) Then 'on teste l'exsitence du fichier
On Error Resume Next
'On regarde si 'il yb a une instance
Set App = GetObject(, "Word.Application")
'Si il y en a pas on en crée une
If Err <> 0 Then Set App = CreateObject("Word.Application")
With App
.Visible = True 'mettre à false pour cacher l'instance une fois les tests finis
.Activate
.documents.Open CheminFichier
With .ActiveDocument.Shapes(NomBoite).TextFrame
.TextRange.Text = Ch
.AutoSize = True
End With
Application.SendKeys "^p", True 'ouvre la boite Imprimer
'Une fois imprimer on fermera word sans sauvegarder les modifications du document créé si beosin
' .activedocument.Close False
End With
Set App = Nothing
Else: MsgBox "Le Fichier " & CheminFichier & "n'a pas été trouvé", vbInformation, "Erreur"
End If
End Sub
Function FichierExiste(NomFichier$) As Boolean
FichierExiste = Len(Dir(NomFichier)) > 0
End Function