j'aime beaucoup ce tutoriel
Bonjour,
j'ai adoré le tutoriel, je suis vraiment novice dans le VBA
j'aurais une question.
la voilà : Est-ce possible de faire celà sans avoir la partie requête, actuellement j'en ai fait un à partir d'un formulaire dont voilà le code :
Code:
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
| Sub MergeBM()
Dim wApp As Word.Application
Dim chemin As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String
sql = "SELECT * from Publipostage"
Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set wApp = New Word.Application
chemin = CurrentProject.Path
wApp.Visible = True
While Not rs.EOF
With wApp
.Documents.Open "C:\Users\Daniel\Documents\Access\qui marche\visite.dot"
.ActiveDocument.Bookmarks("Nom").Range.Text = rs.Fields("Nom")
.ActiveDocument.Bookmarks("A").Range.Text = rs.Fields("A")
.ActiveDocument.Bookmarks("B").Range.Text = rs.Fields("B")
.ActiveDocument.Bookmarks("C").Range.Text = rs.Fields("C")
.ActiveDocument.SaveAs "Le Nom.doc"
.ActiveDocument.Close (wdDoNotSaveChanges)
End With
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
Set wApp = Nothing
End Sub |
et
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub MergeIt()
Dim objWord As Word.Document
Set objWord = GetObject("C:\Users\Daniel\Documents\Access\qui marche\visite.dot", "Word.Document")
' Rend Word visible important puisque la fusion se fait à l'écran.
objWord.Application.Visible = True
' Sélectionne .la base de données Comptoir comme source de données pour la fusion
objWord.MailMerge.OpenDataSource _
Name:="C:\Users\Daniel\Documents\Access\qui marche\Suivie_des_Clients-Daniel.accdb", _
LinkToSource:=True, _
Connection:="Table Publipostage", _
SQLStatement:="SELECT * FROM [Publipostage]"
' Exécution de la fusion.
objWord.MailMerge.Execute
Set objWord = Nothing
End Sub |
la seule choses que je ne réussi pas à faire c'est que mon document qu'il export en Word, n'est jamais celle qui est présente dans mon formulaire, et parfois il me sort vide (sans les signets) qu'est qui cloche dans mon code?
merci a l'avance
Est-il possibile d'utiliser avec access 2016?
Bonjour
Je suis nouveau sur cette discussion et mes connaissances en access et BVA sont très limités.
étant chirurgien et voulant utiliser une base de données Patients avec un formulaire à trois boutons me permettant d'une part de créer un dossier Patient et dans ce dossier patient enregistrer les documents textes correspondant (document type word pour la convocation à la consultation, le compte rendu opératoire et le courrier pour le médecin traitant)
Je clique sur le bouton consultation ou compte rendu ou médecin mais ça ne me donne pas la possibilité de choisir un document type.
J'ai toujours cette réponse : "Vous devez choisir un document type"
Code:
1 2 3 4 5 6 7 8 9 10
| Private Sub ChercherDocType()
'Ouvrir la boîte de sélection dans le répertoire ad hoc
CheminDocType = CurrentProject.Path & "\DocType\ComptesRendus"
'Vérifiez qu'un fichier a été choisi
If Len(CheminDocType) <> 0 Then
Call ActualParam
Else
MsgBox "Vous devez choisir un document type"
End If
End Sub |
ça ne crée pas non plus de dossier avec le nom du patient dans Mes dossiers Patients.
Mon fils a changé une ligne de code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Private Sub CreerDosPatient()
On Error GoTo GestionErreurs
'Créer le dossier Patient si nécessaire
DossierPat = CurrentProject.Path & "\DossiersPatients\" & Me.txtPatientNom & "_" & Me.txtPatientPrenom
Debug.Print DossierPat
MkDir DossierPat
Call CreerDoc
Exit Sub
GestionErreurs:
Select Case Err.Number
Case 75 'le dossier existe déjà
Resume Next
Case Else
MsgBox "Erreur dans CreerDosPatient" & " " & Err.Number & " " & Err.Description
End Select
End Sub |
ça crée le dossier patient mais j'ai une erreur :
"Erreur dans CreerDosPatient 5455 Le nom du dossier est incorrect"
Est il possible que ce ne soit pas compatible avec access 2016?
Et y a t-il une solution pour m'aider
ça me faciliterais beaucoup de choses
Merci beaucoup