OVH Cloud OVH Cloud

Adresse mail

8 réponses
Avatar
PatCatNat's
Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation : Type
incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner : nom.prenom@sncf.fr


Public Function EMail(ByVal LeNom As String, Prenom As String) As String
Dim s As String, i% 'je ne sais pas qui sert ce i%
Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"
Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice

8 réponses

Avatar
Eric
Bonjour PatCatNat's,

Je viens de tester ta fonction avec tout type de valeurs et elle marche
bien sauf si un des champs est Null mais tu n'aurais pas le message que
tu indiques.

Par contre, le résulat que tu obtiens n'est pas mais


La déclaration i% est inutile.

A quel moment apparait cette erreur?
As tu essayé de tester la fonction dans la fenêtre de débogage ?
par ex : Print Email("TOTO","Jean Pierre")

Prob de références, peut-être ?

A+
Eric



"PatCatNat's" écrivait
news:cdt2jg$i1k$:

Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation : Type
incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner :


Public Function EMail(ByVal LeNom As String, Prenom As String) As
String
Dim s As String, i% 'je ne sais pas qui sert
ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"
Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice





Avatar
PatCatNat's
Bonjour Eric.

Effectivement tu as raison sur le résultat attendu.

La bête arrive après MàJ du contrôle Prenom dans un formulaire

Private Sub Prenom_AfterUpdate()
AdresseEMail = EMail
End Sub


Pour la fenêtre de débogage :
Erreur de compilation : Variable ou procedure attendue, et non un projet.

Merci

Patrice
"Eric" a écrit dans le message de
news:
Bonjour PatCatNat's,

Je viens de tester ta fonction avec tout type de valeurs et elle marche
bien sauf si un des champs est Null mais tu n'aurais pas le message que
tu indiques.

Par contre, le résulat que tu obtiens n'est pas mais


La déclaration i% est inutile.

A quel moment apparait cette erreur?
As tu essayé de tester la fonction dans la fenêtre de débogage ?
par ex : Print Email("TOTO","Jean Pierre")

Prob de références, peut-être ?

A+
Eric



"PatCatNat's" écrivait
news:cdt2jg$i1k$:

Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation : Type
incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner :


Public Function EMail(ByVal LeNom As String, Prenom As String) As
String
Dim s As String, i% 'je ne sais pas qui sert
ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"
Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice








Avatar
Arnaud [lwa]
Bonjour PatCatNat's,

Essaye plutôt :

Dim strMail as string
strMail = Lenom & "." & Prenom & "@sncf.fr"

et tu utilises cette nouvelle variable où tu as envie.

à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------

| Bonjour,
|
| Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
| automatiquement une adresse mail.
| Le blème est que access m'envoie promener Erreur de compilation : Type
| incompatible.
|
| LeNom et Prenom sont en format texte
| Le résultat devrait donner :
|
|
| Public Function EMail(ByVal LeNom As String, Prenom As String) As
| String Dim s As String, i% 'je ne sais pas
| qui sert ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
| "." + StrConv(Trim(LeNom), vbLowerCase) + _
| "@sncf.fr"
| Do Until InStr(1, s, " ") = 0
| Mid(s, InStr(1, s, " "), 1) = "-"
| Loop
| Let EMail = s
| End Function
|
|
| Quelqu'un a la solution ?
|
| Merci
|
| Patrice
Avatar
Eric
re
il faut que tu modifies l'appel de ta fonction car elle a 2 arguments:
Remplaces :
AdresseEMail=Email
par:
AdresseEMail=Email(me!Nom, Me!Prenom)

Ca devrait faire l'affaire

Eric

PS: Tu n'aurais pas mis ta fonction dans un module qui s'appelle lui
aussi Email ? Si c'est le cas, renommes ton module modEmail.



"PatCatNat's" écrivait news:cdtb42$sgc$1
@news.tiscali.fr:

Bonjour Eric.

Effectivement tu as raison sur le résultat attendu.

La bête arrive après MàJ du contrôle Prenom dans un formulaire

Private Sub Prenom_AfterUpdate()
AdresseEMail = EMail
End Sub


Pour la fenêtre de débogage :
Erreur de compilation : Variable ou procedure attendue, et non un
projet.


Merci

Patrice
"Eric" a écrit dans le message de
news:
Bonjour PatCatNat's,

Je viens de tester ta fonction avec tout type de valeurs et elle
marche


bien sauf si un des champs est Null mais tu n'aurais pas le message
que


tu indiques.

Par contre, le résulat que tu obtiens n'est pas
mais




La déclaration i% est inutile.

A quel moment apparait cette erreur?
As tu essayé de tester la fonction dans la fenêtre de débogage ?
par ex : Print Email("TOTO","Jean Pierre")

Prob de références, peut-être ?

A+
Eric



"PatCatNat's" écrivait
news:cdt2jg$i1k$:

Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation :
Type



incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner :


Public Function EMail(ByVal LeNom As String, Prenom As String) As
String
Dim s As String, i% 'je ne sais pas qui
sert



ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"



Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice













Avatar
PatCatNat's
Bonjour Eric,

J'ai tenté, mais non :-(((
Access (97) me répond : Argument non facultatif.

De plus il faudrait que l'adresse mail soit obligatoirement en minuscule.

Mon module :

Public Function EMailNew(ByVal LeNom As String, Prenom As String) As String
Dim strMail As String
strMail = LeNom & "." & Prenom & "@sncf.fr"
End Function

Sur évènement :

Private Sub Commande10_GotFocus()
Adresse = EMailNew
End Sub


"Arnaud [lwa]" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le
message de news:
Bonjour PatCatNat's,

Essaye plutôt :

Dim strMail as string
strMail = Lenom & "." & Prenom & "@sncf.fr"

et tu utilises cette nouvelle variable où tu as envie.

à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------

| Bonjour,
|
| Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
| automatiquement une adresse mail.
| Le blème est que access m'envoie promener Erreur de compilation : Type
| incompatible.
|
| LeNom et Prenom sont en format texte
| Le résultat devrait donner :
|
|
| Public Function EMail(ByVal LeNom As String, Prenom As String) As
| String Dim s As String, i% 'je ne sais pas
| qui sert ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
| "." + StrConv(Trim(LeNom), vbLowerCase) + _
| "@sncf.fr"
| Do Until InStr(1, s, " ") = 0
| Mid(s, InStr(1, s, " "), 1) = "-"
| Loop
| Let EMail = s
| End Function
|
|
| Quelqu'un a la solution ?
|
| Merci
|
| Patrice




Avatar
PatCatNat's
Et non :-(((
Erreur de compilation : Variable ou procedure attendue, et non un projet.

Mon module s'appelle Mo_EMail

(Précision : je suis en access 97)


"Eric" a écrit dans le message de
news:
re
il faut que tu modifies l'appel de ta fonction car elle a 2 arguments:
Remplaces :
AdresseEMail=Email
par:
AdresseEMail=Email(me!Nom, Me!Prenom)

Ca devrait faire l'affaire

Eric

PS: Tu n'aurais pas mis ta fonction dans un module qui s'appelle lui
aussi Email ? Si c'est le cas, renommes ton module modEmail.



"PatCatNat's" écrivait news:cdtb42$sgc$1
@news.tiscali.fr:

Bonjour Eric.

Effectivement tu as raison sur le résultat attendu.

La bête arrive après MàJ du contrôle Prenom dans un formulaire

Private Sub Prenom_AfterUpdate()
AdresseEMail = EMail
End Sub


Pour la fenêtre de débogage :
Erreur de compilation : Variable ou procedure attendue, et non un
projet.


Merci

Patrice
"Eric" a écrit dans le message de
news:
Bonjour PatCatNat's,

Je viens de tester ta fonction avec tout type de valeurs et elle
marche


bien sauf si un des champs est Null mais tu n'aurais pas le message
que


tu indiques.

Par contre, le résulat que tu obtiens n'est pas
mais




La déclaration i% est inutile.

A quel moment apparait cette erreur?
As tu essayé de tester la fonction dans la fenêtre de débogage ?
par ex : Print Email("TOTO","Jean Pierre")

Prob de références, peut-être ?

A+
Eric



"PatCatNat's" écrivait
news:cdt2jg$i1k$:

Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour écrire
automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation :
Type



incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner :


Public Function EMail(ByVal LeNom As String, Prenom As String) As
String
Dim s As String, i% 'je ne sais pas qui
sert



ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"



Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice
















Avatar
Eric
re,

essaies ceci:

Private Sub Prenom_AfterUpdate()
' il faut impérativement passer les arguments à la fonction
AdresseEMail=NewEmail(Me!Nom, Me!Prenom)
End Sub


avec la fonction NewEmail Suivante
Function NewEmail(LeNom as String,LePrenom as String) as String
NewEmail=LCase(LePrenom) & "." & LCase(LeNom) & "@sncf.fr"
End Function

Fonction que tu peux écrire même dans le module du formulaire, elle sera
de portée locale.

LCase = LowerCase (Minuscule)

Testes et tiens moi au courant

A+
Eric


"PatCatNat's" écrivait
news:cdu1h7$20r$:

Et non :-(((
Erreur de compilation : Variable ou procedure attendue, et non un
projet.

Mon module s'appelle Mo_EMail

(Précision : je suis en access 97)


"Eric" a écrit dans le message de
news:
re
il faut que tu modifies l'appel de ta fonction car elle a 2
arguments: Remplaces :
AdresseEMail=Email
par:
AdresseEMail=Email(me!Nom, Me!Prenom)

Ca devrait faire l'affaire

Eric

PS: Tu n'aurais pas mis ta fonction dans un module qui s'appelle lui
aussi Email ? Si c'est le cas, renommes ton module modEmail.



"PatCatNat's" écrivait news:cdtb42$sgc$1
@news.tiscali.fr:

Bonjour Eric.

Effectivement tu as raison sur le résultat attendu.

La bête arrive après MàJ du contrôle Prenom dans un formulaire

Private Sub Prenom_AfterUpdate()
AdresseEMail = EMail
End Sub


Pour la fenêtre de débogage :
Erreur de compilation : Variable ou procedure attendue, et non un
projet.


Merci

Patrice
"Eric" a écrit dans le message de
news:
Bonjour PatCatNat's,

Je viens de tester ta fonction avec tout type de valeurs et elle
marche


bien sauf si un des champs est Null mais tu n'aurais pas le
message
que


tu indiques.

Par contre, le résulat que tu obtiens n'est pas
mais




La déclaration i% est inutile.

A quel moment apparait cette erreur?
As tu essayé de tester la fonction dans la fenêtre de débogage ?
par ex : Print Email("TOTO","Jean Pierre")

Prob de références, peut-être ?

A+
Eric



"PatCatNat's" écrivait
news:cdt2jg$i1k$:

Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour
écrire automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation
:
Type



incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner :


Public Function EMail(ByVal LeNom As String, Prenom As String)
As String
Dim s As String, i% 'je ne sais pas
qui
sert



ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"



Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice





















Avatar
PatCatNat's
re,

1 peccable (de frein)
:-))))

çà fonctionne

Merci Eric

Patrice

"Eric" a écrit dans le message de
news:
re,

essaies ceci:

Private Sub Prenom_AfterUpdate()
' il faut impérativement passer les arguments à la fonction
AdresseEMail=NewEmail(Me!Nom, Me!Prenom)
End Sub


avec la fonction NewEmail Suivante
Function NewEmail(LeNom as String,LePrenom as String) as String
NewEmail=LCase(LePrenom) & "." & LCase(LeNom) & "@sncf.fr"
End Function

Fonction que tu peux écrire même dans le module du formulaire, elle sera
de portée locale.

LCase = LowerCase (Minuscule)

Testes et tiens moi au courant

A+
Eric


"PatCatNat's" écrivait
news:cdu1h7$20r$:

Et non :-(((
Erreur de compilation : Variable ou procedure attendue, et non un
projet.

Mon module s'appelle Mo_EMail

(Précision : je suis en access 97)


"Eric" a écrit dans le message de
news:
re
il faut que tu modifies l'appel de ta fonction car elle a 2
arguments: Remplaces :
AdresseEMail=Email
par:
AdresseEMail=Email(me!Nom, Me!Prenom)

Ca devrait faire l'affaire

Eric

PS: Tu n'aurais pas mis ta fonction dans un module qui s'appelle lui
aussi Email ? Si c'est le cas, renommes ton module modEmail.



"PatCatNat's" écrivait news:cdtb42$sgc$1
@news.tiscali.fr:

Bonjour Eric.

Effectivement tu as raison sur le résultat attendu.

La bête arrive après MàJ du contrôle Prenom dans un formulaire

Private Sub Prenom_AfterUpdate()
AdresseEMail = EMail
End Sub


Pour la fenêtre de débogage :
Erreur de compilation : Variable ou procedure attendue, et non un
projet.


Merci

Patrice
"Eric" a écrit dans le message de
news:
Bonjour PatCatNat's,

Je viens de tester ta fonction avec tout type de valeurs et elle
marche


bien sauf si un des champs est Null mais tu n'aurais pas le
message
que


tu indiques.

Par contre, le résulat que tu obtiens n'est pas
mais




La déclaration i% est inutile.

A quel moment apparait cette erreur?
As tu essayé de tester la fonction dans la fenêtre de débogage ?
par ex : Print Email("TOTO","Jean Pierre")

Prob de références, peut-être ?

A+
Eric



"PatCatNat's" écrivait
news:cdt2jg$i1k$:

Bonjour,

Je suis tombé (aïe) sur un module que l'on m'avait écris pour
écrire automatiquement une adresse mail.
Le blème est que access m'envoie promener Erreur de compilation
:
Type



incompatible.

LeNom et Prenom sont en format texte
Le résultat devrait donner :


Public Function EMail(ByVal LeNom As String, Prenom As String)
As String
Dim s As String, i% 'je ne sais pas
qui
sert



ce i% Let s = StrConv(Trim(Prenom), vbLowerCase) + _
"." + StrConv(Trim(LeNom), vbLowerCase) + _
"@sncf.fr"



Do Until InStr(1, s, " ") = 0
Mid(s, InStr(1, s, " "), 1) = "-"
Loop
Let EMail = s
End Function


Quelqu'un a la solution ?

Merci

Patrice