Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 20h31   #1
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Par défaut Utilisation d'un champ multi-valeurs vers Word

Bonjour à tous,

J'utilise des valeurs saisies dans un formulaire pour ensuite lancer Word et mettre les valeurs au bon endroit avec des signets.



Je ne sais pas comment récupérer les valeurs cochées dans une liste multi-valuée.

Voici une partie de mon 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
Private Sub CréerRapport_Click()
Dim objWord As Word.Application
Dim doc As Word.Document
 
strID = Forms!Observations!ID
strDistrib = Forms!Observations!Distribution
StrEtat = Forms!Observations!Etat.Column(1)
StrRapp = Format(Forms!Observations![Date_Rapport], "dddd dd.mm.yyyy")

strprojectpath = CurrentProject.Path
 
With objWord
 
.Visible = True
Set doc = .Documents.Add((strprojectpath) & "\rapvd_N.docx")
 
End With
 
With doc.Bookmarks
.Item("signID").Range.Text = strID
.Item("signDistrib").Range.Text = strDistrib
.Item("signEtat").Range.Text = StrEtat
.Item("signRapp").Range.Text = StrRapp
 
End With
objWord.Activate
Set rst = Nothing
Set doc = Nothing
Set objWord = Nothing
End Sub
J'ai mis le code concernant le champ multi-valeurs en rouge pour simplifier, car dans la réalité ça bloque ...

Merci d'avance pour votre aide.
Images attachées
Type de fichier : png Liste-multi-valeurs.png (9,2 Ko, 49 affichages)
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 17h46   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour,


Citation:
Je ne sais pas comment récupérer les valeurs cochées dans une liste multi-valuée
Ici, tu trouveras un exemple.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 18h04   #3
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par ClaudeLELOUP Voir le message
Bonjour,

Ici, tu trouveras un exemple.
Bonsoir,

Merci pour ton aide, mais je suis pas trop au clair avec le VBA et je ne comprend pas comment je peux utiliser ton code pour envoyer 1 à x valeurs sélectionnées dans une liste déroulante multi-valeurs et ensuite les coller au signet dans Word.

En effet ton code est basé sur une simple liste déroulante mono-valeur et ensuite si la combinaison opérateur - formation n'existe pas, tu copie cette valeur dans une table. J'ai compris juste ?

Je ne sais pas si je suis clair, encore merci pour ton aide.

Pascal
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 19h29   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Voici un exemple simplifié.

Dans le formulaire, choisis une ou plusieurs formations.
Clique le bouton => on traite chaque valeur choisie (ici, afficher un message).
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h57   #5
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par ClaudeLELOUP Voir le message
Voici un exemple simplifié.

Dans le formulaire, choisis une ou plusieurs formations.
Clique le bouton => on traite chaque valeur choisie (ici, afficher un message).
Re,

Je crois comprendre, à la place d'envoyer vers messagebox, j'envoye vers le signet Word.

Juste ?

Merci et bonne soirée.

Pascal
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 21h06   #6
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
OUI.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 21h32   #7
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par ClaudeLELOUP Voir le message
OUI.
Re,

Voici mon code, mais je crois pas avoir tout compris car j'ai évidement une erreur ...

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
Private Sub CréerRapport_Click()
Dim objWord As Word.Application
Dim doc As Word.Document
Dim strID As String
Dim varItem As Variant, sSql As String, strDistrib As String

strDistrib = Forms!Observations!Distribution

    strprojectpath = CurrentProject.Path


With objWord
.Visible = True
Set doc = .Documents.Add((strprojectpath) & "\rapvd_N.docx")
'Set doc = .Documents.Open
End With
With doc.Bookmarks

For Each varItem In strDistrib.ItemsSelected
            .Item("signDistrib").Range.Text = strDistrib           
End With
objWord.Activate
Set rst = Nothing
Set doc = Nothing
Set objWord = Nothing
End Sub
En rouge mon code basé sur le votre.

Merci pour votre aide.

Pascal
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 09h04   #8
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonjour,

Je ne connais pas suffisamment Word pour tester avec tes données (contenu du document "rapvd_N.docx")

À l'instinct, donc sans garantie, le code serait :
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
Private Sub CréerRapport_Click()
' je suppose que ce code se trouve dans ton formulaire qui contient la liste nommée "Distribution"
Dim objWord As Word.Application
Dim doc As Word.Document
Dim strID As String
Dim strprojectpath As String ' non définie => tu devrais tjrs utiliser "Option Explicit" !
Dim varItem As Variant
 
strprojectpath = CurrentProject.Path
 
Set objWord = CreateObject("Word.application") 'pas vu dans ton code !
 
 
 
With objWord
.Visible = True
Set doc = .Documents.Add((strprojectpath) & "\rapvd_N.docx")
End With
With doc.Bookmarks
   For Each varItem In Me.Distribution.ItemsSelected
            .Item("signDistrib").Range.Text = Me.Distribution.ItemData(varItem) 'modif !!!
   Next varItem
End With
objWord.Activate
Set doc = Nothing
Set objWord = Nothing
End Sub
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 11h24   #9
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par ClaudeLELOUP Voir le message
Bonjour,

Je ne connais pas suffisamment Word pour tester avec tes données (contenu du document "rapvd_N.docx")

À l'instinct, donc sans garantie, le code serait :
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
Private Sub CréerRapport_Click()
' je suppose que ce code se trouve dans ton formulaire qui contient la liste nommée "Distribution"
Dim objWord As Word.Application
Dim doc As Word.Document
Dim strID As String
Dim strprojectpath As String ' non définie => tu devrais tjrs utiliser "Option Explicit" !
Dim varItem As Variant
 
strprojectpath = CurrentProject.Path
 
Set objWord = CreateObject("Word.application") 'pas vu dans ton code !
 
 
 
With objWord
.Visible = True
Set doc = .Documents.Add((strprojectpath) & "\rapvd_N.docx")
End With
With doc.Bookmarks
   For Each varItem In Me.Distribution.ItemsSelected
            .Item("signDistrib").Range.Text = Me.Distribution.ItemData(varItem) 'modif !!!
   Next varItem
End With
objWord.Activate
Set doc = Nothing
Set objWord = Nothing
End Sub
Salut et merci,

J'ai modifié le code, plus d'erreur dans l'exécution, mais rien ne vient à l'emplacement du signet "SignDistrib" dans Word ...

Je te mets ci-dessous le code complet (cette fois ...) :

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
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
Option Compare Database
Private Sub CréerRapport_Click()
Dim objWord As Word.Application
Dim doc As Word.Document
Dim strID As String
Dim strprojectpath As String
Dim varItem As Variant
 
strprojectpath = CurrentProject.Path
 
'STR
strID = Forms!Observations!ID
strRef = Forms!Observations![appelation du dossier]
strRiv = Forms!Observations![Cours d'eau].Column(1)
strComm = Forms!Observations![Commune territoriale]
StrCoord = Forms!Observations!Coordonnées
StrObs = Forms!Observations![Date_Observation]
StrCastor = Forms!Observations![Territoire castor]
StrPar = Forms!Observations![Rapport_Etabli_par].Column(1)
StrImportance = Forms!Observations!Importance.Column(1)
StrEvent = PlainText(Forms!Observations!Evénements)
StrSituation = PlainText(Forms!Observations!Situation)
'strDistrib = Forms!Observations!Distribution
StrEtat = Forms!Observations!Etat.Column(1)
StrRapp = Format(Forms!Observations![Date_Rapport], "dddd dd.mm.yyyy")
'FIN STR
 
On Error Resume Next
Set objWord = GetObject(, "Word.application")
If Err = 429 Then
'Set objWord = New Word.Application
Set objWord = CreateObject("Word.application")
End If
On Error GoTo 0
 
 
 
 
With objWord
.Visible = True
Set doc = .Documents.Add((strprojectpath) & "\rapvd_N.docx")
'Set doc = .Documents.Open("http://beaverwatch.falcy.ch/intranet/Documents%20partages/RapVD.docx")
'Set doc = .Documents.Open("http://beaverwatch.falcy.ch/intranet/Documents%20partages/RapVD.mht")
End With
With doc.Bookmarks
.Item("signRiv").Range.Text = strRiv
.Item("signID").Range.Text = strID
.Item("signRef").Range.Text = strRef
.Item("signComm").Range.Text = strComm
.Item("signCoord").Range.Text = StrCoord
.Item("signObs").Range.Text = StrObs
.Item("signCastor").Range.Text = StrCastor
.Item("signPar").Range.Text = StrPar
.Item("signImportance").Range.Text = StrImportance
.Item("signEvent").Range.Text = StrEvent
.Item("signSituation").Range.Text = StrSituation
.Item("signEtat").Range.Text = StrEtat
.Item("signRapp").Range.Text = StrRapp
    For Each varItem In Me.Distribution.ItemsSelected
            .Item("signDistrib").Range.Text = Me.Distribution.ItemData(varItem)
   Next varItem
 
End With
objWord.Activate
'Set rst = Nothing
Set doc = Nothing
Set objWord = Nothing
End Sub
Encore merci pour ton aide, si jamais je peux t'envoyer l'applic Access et le fichier Word.

Pascal
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 11h55   #10
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Citation:
Encore merci pour ton aide, si jamais je peux t'envoyer l'applic Access et le fichier Word.

J'ai Access2000 et Woord2003.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 12h56   #11
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par ClaudeLELOUP Voir le message
J'ai Access2000 et Woord2003.
Je peux te donner l'accès à mon PC si tu veux ?
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h32   #12
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Désolé, mais je suis loin d'être un spécialiste de l'informatique.
Si tu me donnes accès, je ne saurais comment m'en servir.

Par contre, si tu postes une BDD compatible Access2000 et le fichier .doc, j'examinerai avec plaisir.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 17h59   #13
Invité de passage
 
Homme
Gestionnaire de parc micro-informatique
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Gestionnaire de parc micro-informatique
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par ClaudeLELOUP Voir le message
Désolé, mais je suis loin d'être un spécialiste de l'informatique.
Si tu me donnes accès, je ne saurais comment m'en servir.

Par contre, si tu postes une BDD compatible Access2000 et le fichier .doc, j'examinerai avec plaisir.
Volontier, mais je croyais que les listes déroulantes multi-sélections n'existaient que depuis Access 2010 ?

Pascal
yclaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 19h31   #14
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
La pièce jointe au post 4, te montre que j'en dispose avec Access2000.

Du moins pour une zone de liste simple (non modifiable).

La zone de liste modifiable n'a pas cette faculté.
Peut-être que Access2010, que je ne connais pas, l'autorise.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h29.


 
 
 
 
Partenaires

Hébergement Web