Bonjour,

Scénario :

Je dois, à partir d’Access, exporter le nom d’une personne contenu dans un champ vers un document Word. Ce nom doit être affiché en colonne de haut en bas, lettre par lettre. Le problème survient lorsque le nom est composé de plusieurs mots séparés par un espace, par exemple : Van Den Bech devient :

V
a
n
D
e
n
B
e
c
h

Les espaces entre les mots sont supprimés automatiquement, ce que je ne veux pas.

Je n’ai pas trouvé dans le menu de Word une option qui désactiverait cette suppression automatique.

Ma méthode :

Dans un prenier temps, je décompose le nom.

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
'Déclaration des variables
   Dim MyName As String
   Dim strN1, strN2, strN3, strN4, strN5, strN6, strN7, strN8, strN9, strN10, strN11, strN12, strN13, strN14, strN15, strN16, strN17, strN18, strN19, strN20 As String
 
   Forms![FrmEmplDocument]![FrmFPEmployee]!Name = Forms![FrmEmplDocument]![FrmFPEmployee]!Combo84.Column(0)
 
   MyName = Forms![FrmEmplDocument]![FrmFPEmployee]!Name
 
   strN1 = Mid(MyName, 1, 1)
   strN2 = Mid(MyName, 2, 1)
   strN3 = Mid(MyName, 3, 1)
   strN4 = Mid(MyName, 4, 1)
   strN5 = Mid(MyName, 5, 1)
   strN6 = Mid(MyName, 6, 1)
   strN7 = Mid(MyName, 7, 1)
   strN8 = Mid(MyName, 8, 1)
   strN9 = Mid(MyName, 9, 1)
   strN10 = Mid(MyName, 10, 1)
   strN11 = Mid(MyName, 11, 1)
   strN12 = Mid(MyName, 12, 1)
   strN13 = Mid(MyName, 13, 1)
   strN14 = Mid(MyName, 14, 1)
   strN15 = Mid(MyName, 15, 1)
   strN16 = Mid(MyName, 16, 1)
   strN17 = Mid(MyName, 17, 1)
   strN18 = Mid(MyName, 18, 1)
   strN19 = Mid(MyName, 19, 1)
   strN20 = Mid(MyName, 20, 1)
 
   Forms![FrmEmplDocument]![FrmFPEmployee]!N1 = strN1
   Forms![FrmEmplDocument]![FrmFPEmployee]!N2 = strN2
   Forms![FrmEmplDocument]![FrmFPEmployee]!N3 = strN3
   Forms![FrmEmplDocument]![FrmFPEmployee]!N4 = strN4
   Forms![FrmEmplDocument]![FrmFPEmployee]!N5 = strN5
   Forms![FrmEmplDocument]![FrmFPEmployee]!N6 = strN6
   Forms![FrmEmplDocument]![FrmFPEmployee]!N7 = strN7
   Forms![FrmEmplDocument]![FrmFPEmployee]!N8 = strN8
   Forms![FrmEmplDocument]![FrmFPEmployee]!N9 = strN9
   Forms![FrmEmplDocument]![FrmFPEmployee]!N10 = strN10
   Forms![FrmEmplDocument]![FrmFPEmployee]!N11 = strN11
   Forms![FrmEmplDocument]![FrmFPEmployee]!N12 = strN12
   Forms![FrmEmplDocument]![FrmFPEmployee]!N13 = strN13
   Forms![FrmEmplDocument]![FrmFPEmployee]!N14 = strN14
   Forms![FrmEmplDocument]![FrmFPEmployee]!N15 = strN15
   Forms![FrmEmplDocument]![FrmFPEmployee]!N16 = strN16
   Forms![FrmEmplDocument]![FrmFPEmployee]!N17 = strN17
   Forms![FrmEmplDocument]![FrmFPEmployee]!N18 = strN18
   Forms![FrmEmplDocument]![FrmFPEmployee]!N19 = strN19
   Forms![FrmEmplDocument]![FrmFPEmployee]!N20 = strN20
Ensuite, j’exporte les données vers Word :

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
'Chemin d'accès
    Const DOC_IntEmployee = "C:\DATABASE\Employe.doc"
'Variable pour gérer l'objet Word
    Dim wdApp As Word.Application
'Publipostage
    Set wdApp = New Word.Application
        With wdApp
            'Word visible
            .Visible = True
            'Ouvrir lettre type
            .Documents.Open DOC_IntEmployee
            'Lier lettre type à source BD
            .ActiveDocument.MailMerge.OpenDataSource _
            Name:=CurrentProject.FullName, _
            SQLStatement:="SELECT * FROM [RqtFPEmployee]"
            'Fusion dans un nouveau document
            .ActiveDocument.MailMerge.Destination = wdSendToNewDocument
            'Exécuter la fusion
            .ActiveDocument.MailMerge.Execute
        End With
    Set wdApp = Nothing
Les blancs entre les mots sont supprmés automatiquement dans Word.

Comment faire pour qu'ils s'affichent ?

Merci de m'aider.