Bonjour à tous,
Dans un cadre professionnel, je suis amener à créer un script VBA associer à un fichier Word.
En fait, j'aimerai pouvoir insérer des mots ou des phrases dans le ducument en fonction d'une selection réalisée depuis un ComboBox. Ce dernier serai bien sûr sur une UserForm.
Je pense utiliser pour ça les BookMark et ça fonctionne parfaitement avec la simple commande:
Le problème vient alors lors de l'utilisation de mon Combobox. En l'occurrence, je suis passé par un module plutôt que de surcherger ma UserForm. Voici mes codes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub CMD01_Click() With ActiveDocument .Bookmarks("BK01").Range _ .InsertBefore "Texte à écrire" End With End Sub
Ma UserForm (FRM01):
Mon Module:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub UserForm_Initialize() Macro_init End Sub Private Sub ComboBox1_Change() Macro_CMB1 End Sub Private Sub CMD01_Click() Macro_remplissage End Sub
Voilà, là rien ne se passe. Je suppose que c'est au niveau de l'affectation des variables mais je ne sais pas quoi faire. Pourriez-vous, s'il vous plait, jeter un coup d'oeil ? (le ficher est en pièce jointe)
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 Option Explicit Public nom As String Public couleur As String Public marque As String Sub Macro_init() FRM01.ComboBox1.AddItem "Riri" FRM01.ComboBox1.AddItem "Fifi" FRM01.ComboBox1.AddItem "Loulou" End Sub Sub Macro_CMB1() Select Case FRM01.ComboBox1.Value Case 0 nom = "Riri Duck" couleur = "Rouge" marque = "BMW" Case 1 nom = "Fifi Duck" couleur = "Bleu" marque = "Audi" Case 2 nom = "Loulou Duck" couleur = "Vert" marque = "Porsche" End Select End Sub Sub Macro_remplissage() With ActiveDocument .Bookmarks("BK01").Range _ .InsertBefore nom .Bookmarks("BK02").Range _ .InsertBefore couleur .Bookmarks("BK03").Range _ .InsertBefore marque End With FRM01.Hide End Sub
Merci d'avance.
Mafooley
Partager