Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 21/04/2011, 11h47   #1
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut access vers word signets / VBA

bonjour,

je reviens vers vous, car je n'arrive toujours pas à réaliser mon projet :

J'ai crée un modèle Lettre.dot (WORD 2003) avec les signets correspondants à mes champs textes d'ACCESS. Jusque là tout va bien.

J'ai crée une base de données qui se nomme "CONTACT" avec un formulaire qui se nomme "SAISI" et sous-formulaire "INTERLOCUTEURS".

Sur le sous-formulaire j'ai crée un bouton commande pour envoyer une lettre directement de ma base de données.

Ce que je ne comprends pas, c'est qu'il bloque toujours sur la même ligne avec un message d'erreur "incompatibilité de type" ? J'ai mis en rouge la ligne qui pose problème.

Voici 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
32
33
34
35
Option Compare Database

Private Sub Envoi_Lettre_Click()
Dim nom2
rep2 = InputBox("Veuillez saisir un objet pour votre lettre")
rep = MsgBox("S'agit'il d'une lettre recommandée ?", vbYesNo + vbInformation)
nom2 = Forms!SAISI!INTERLOCUTEURS.Form!Genre & " "
nom2 = nom2 & Forms!SAISI!INTERLOCUTEURS.Form!Prenom & " " & UCase(Forms!SAISI!INTERLOCUTEURS.Form!Nom)
Adresse2 = UCase(Form!SAISI!Societe) & Chr(10) & nom2 & Chr(10) & Form!SAISI!Adresse1
Adresse2 = Adresse2 & Chr(10) & Form!SAISI!Adresse2 & Chr(10)
Adresse2 = Adresse2 & Form!SAISI!CP & " " & UCase(Form!SAISI!Ville)

Dim oApp As Object
Set oApp = CreateObject("word.application")
oApp.Visible = True
With oApp
.Documents.Add template:="C:\Documents and Settings\armelle.bechieau\Bureau\Catherine\lettre.dot"
With .selection
.Goto , , , "objet"
.insertafter rep2
.Goto , , , "adresse"
.insertafter Adresse2
.Goto , , , "Genre"
.insertafter Forms!SAISI!INTERLOCUTEURS.Form!Genre
.Goto , , , "genre2"
.insertafter Forms!SAISI!INTERLOCUTEURS.Form!Genre
If rep <> 6 Then
.Goto , , , "ar"
.cut
End If
.Goto , , , "debut"
End With
End With

End Sub
J'ai essayé plusieurs solutions, mais aucune ne fonctionne. J'ai vraiment besoin d'aide.

Si quelqu'un peut m'aider ?
enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 18h04   #2
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
essaie ceci :
Code :
1
2
 
nom2 = nz(Forms!SAISI!INTERLOCUTEURS.Form!Genre,"") & " "
Qu'est-ce que ça donne ?

__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 13h49   #3
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut envoyer une lettre d'ACCESS à WORD

Bonjour,

Citation:
nom2 = nz(Forms!SAISI!INTERLOCUTEURS.Form!Genre,"") & " "
j'ai essayé et j'ai un message d'erreur. Je vous l'envoi "erreur 438".

Merci encore pour votre aide.
enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 17h49   #4
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Aïe ! aïe aïe !
L'erreur 438 !

Ca, c'est très ennuyant...
Moi, je ne l'aime pas du tout cette erreur là ...

euh... et... sinon, à part cela, elle dit quoi d'autre l'erreur 438 ?
Elle ne serait pas un peu accompagnée d'un message descriptif qui nous en dirait un peu plus ?
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 09h03   #5
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut Acces vers Word / signets VBA

bonjour,

Je vous envoi le fichier "imprime écran" de l'erreur 438.

"propriété ou méthode non gérée par cet objet"

J'ai essayé pas mal de différentes combinaisons, mais apparemment c'est autre chose qui ne vas pas.

Merci encore de bien vouloir m'aider.
Fichiers attachés
Type de fichier : doc ERREUR 438.doc (111,5 Ko, 1 affichages)
enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 09h11   #6
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
INTERLOCUTEURS n'existe pas !
C'est INTERLOCUTEURS sous-formulaire le nom que tu lui as donné !

Fais un essai en remplaçant
Code :
nom2 = nz(Forms!SAISI!INTERLOCUTEURS.Form!Genre,"") & " "
par
Code :
nom2 = nz(me.Genre,"") & " "
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 09h43   #7
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut Acces vers Word / signets VBA

ça marche, en fait, j'ai réécrit mon code sur cette base.

J'ai un autre souci.

je vous envoi l'imprime écran de l'erreur.

Voici mon nouveau 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
35
36
Option Compare Database
 
Private Sub Envoi_Lettre_Click()
Dim nom2
 
rep2 = InputBox("Veuillez saisir un objet pour votre lettre")
rep = MsgBox("S'agit'il d'une lettre recommandée ?", vbYesNo + vbInformation)
nom2 = Nz(Me.Genre, "") & " "
nom2 = Nz(Me.Prenom, "") & " " & Nz(Me.Nom, "") & " "
Adresse2 = Nz(Me.Societe, "") & Chr(10) & nom2 & Chr(10) & Nz(Me.Adresse1, "") & " "
Adresse2 = Adresse2 & Chr(10) & Nz(Me.Adresse2, "") & " " & Chr(10)
Adresse2 = Adresse2 & Nz(Me.CP, "") & " " & Nz(Me.Ville, "") & " "
 
Dim oApp As Object
Set oApp = CreateObject("word.application")
oApp.Visible = True
With oApp
.Documents.Add template:="U:\Mes documents\ACCESS\MODELES\lettre.dot"
With .selection
.Goto , , , "objet"
.insertafter rep2
.Goto , , , "adresse"
.insertafter Adresse2
.Goto , , , "Genre"
.insertafter Nz(Me.Genre, "")
.Goto , , , "genre2"
.insertafter Nz(Me.Genre, "")
If rep <> 6 Then
.Goto , , , "ar"
.cut
End If
.Goto , , , "debut"
End With
End With
 
End Sub
Merci encore, cela marche mieux.
Fichiers attachés
Type de fichier : doc erreur autre.doc (31,5 Ko, 1 affichages)
enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 10h27   #8
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut Acces vers Word / signets VBA

j'ai fait un autre essai et voici 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
35
36
Option Compare Database
 
Private Sub Envoi_Lettre_Click()
Dim nom2
 
rep2 = InputBox("Veuillez saisir un objet pour votre lettre")
rep = MsgBox("S'agit'il d'une lettre recommandée ?", vbYesNo + vbInformation)
nom2 = Nz(Me.Genre, "") & " "
nom2 = Nz(Me.Prenom, "") & " " & Nz(Me.Nom, "") & " "
Adresse2 = Nz(Me.Societe, "") & Chr(10) & nom2 & Chr(10) & Nz(Me.Adresse1, "") & " "
Adresse2 = Adresse2 & Chr(10) & Nz(Me.Adresse2, "") & " " & Chr(10)
Adresse2 = Adresse2 & Nz(Me.CP, "") & " " & Nz(Me.Ville, "") & " "
 
Dim oApp As Object
Set oApp = CreateObject("word.application")
oApp.Visible = True
With oApp
.Documents.Add template:="U:\Mes documents\MODELES\lettre2.dot"
With .selection
.Goto , , , "objet"
.insertafter rep2
.Goto , , , "adresse"
.insertafter Adresse2
.Goto , , , "Genre"
.insertafter Nz(Me.Genre, "")
.Goto , , , "genre2"
.insertafter Nz(Me.Genre2, "")
If rep <> 6 Then
.Goto , , , "ar"
.cut
End If
.Goto , , , "debut"
End With
End With
 
End Sub
J'ai un autre message d'erreur :

"erreur compilation" ?

Je vous l'envoi.

Merci d'avance pour l'aide.
Fichiers attachés
Type de fichier : doc erreur compilation.doc (70,5 Ko, 1 affichages)
enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 10h30   #9
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
ME fait référence au formulaire contenant le code en cours d'exécution (INTERLOCUTEURS Sous-formulaire)
Il est en train de te dire que Adresse1 n'existe pas dans ce formulaire.
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 10h53   #10
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut Acces vers Word / signets VBA

Ok, mais comment dois-je lui faire comprendre qu'il faut qu'il aille chercher dans mon formulaire principal "SAISI" et non sur le sous-formulaire "INTERLOCUTEURS" le champ "Adresse1" ?

Si correspond au "sous-formulaire", quel est celui qui correspond au formulaire principal ?

Merci et désolée d'être si débutante !

enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 11h09   #11
Rédacteur

 
Avatar de Maxence HUBICHE
 
Homme Maxence HUBICHE
Formateur et Développeur - Conseil en Informatique
Inscription : juin 2002
Messages : 3 687
Détails du profil
Informations personnelles :
Nom : Homme Maxence HUBICHE
Âge : 42
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Formateur et Développeur - Conseil en Informatique

Informations forums :
Inscription : juin 2002
Messages : 3 687
Points : 6 516
Points : 6 516
Envoyer un message via MSN à Maxence HUBICHE Envoyer un message via Skype™ à Maxence HUBICHE
Forms("SAISI").NomDuControle
__________________
1formaxion, une formation de qualité, des formateurs compétents
Mes tutoriels et vidéos :
Tableaux croisés dynamiques, Access les Bases, et les autres !
Maxence HUBICHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 11h28   #12
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut Acces vers Word / signets VBA

Merci beaucoup, çà marche.

Il me reste juste à coordonner mes signets, la lettre se rempli bien, mais il me manque la Société en entête de ma lettre ainsi que le "genre", j'ai juste l'adresse et l'objet qui marche !

Vous êtes vraiment SUPER !

C'est un site génial, j'en fais la pub à toutes les personnes de ma société.

Merci à DEVELOPPEZ.COM et à tous ses membres !

enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h52   #13
Membre à l'essai
 
Femme Catherine ALFONSO-HORTA
Assistante Développement
Inscription : juin 2008
Messages : 104
Détails du profil
Informations personnelles :
Nom : Femme Catherine ALFONSO-HORTA
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Assistante Développement
Secteur : Conseil

Informations forums :
Inscription : juin 2008
Messages : 104
Points : 24
Points : 24
Par défaut Acces vers Word / signets VBA

Pour ceux et celles que çà intéressent, je vous envoi le code complet.

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
Option Compare Database
 
Private Sub Envoi_Lettre_Click()
Dim nom2
 
rep2 = InputBox("Veuillez saisir un objet pour votre lettre")
rep = MsgBox("S'agit'il d'une lettre recommandée ?", vbYesNo + vbInformation)
nom2 = Nz(Me.Genre, "") & " "
nom2 = Nz(Me.Prenom, "") & " " & Nz(Me.Nom, "") & " "
Adresse2 = forms("SAISI").Societe & Chr(10) & nom2 & Chr(10) & forms("SAISI").Adresse1
Adresse2 = Adresse2 & Chr(10) & forms("SAISI").Adresse2 & Chr(10)
Adresse2 = Adresse2 & forms("SAISI").CP & " " & forms("SAISI").Ville & " "
 
Dim oApp As Object
Set oApp = CreateObject("word.application")
oApp.Visible = True
With oApp
.Documents.Add template:="U:\Mes documents\MODELES\lettre2.dot"
With .selection
.Goto , , , "objet"
.insertafter rep2
.Goto , , , "adresse"
.insertafter Adresse2
.Goto , , , "genre"
.insertafter Nz(Me.Genre, "")
.Goto , , , "genre2"
.insertafter Nz(Me.Genre, "")
If rep <> 6 Then
.Goto , , , "ar"
.cut
End If
.Goto , , , "debut"
End With
End With
 
End Sub
Il faut créer un modèle de lettre, avec les signets correspondants aux champs dont vous avez besoin "objet, ar, genre, adresse etc...", dans le modèle ma lettre s'appelle "lettre.2".

Merci au site développez.com pour leurs contributions.

Catherine
enretard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h18.


 
 
 
 
Partenaires

Hébergement Web