Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

OUTLOOK VBA : archivage auto de mails

1 réponse
Avatar
outlookvbadummy
Bonjour,
Je viens de créer une macro qui :
- isole les 3 premiers caractères de l'objet du mail sélectionné ;
- copie le mail sous le nom "Subject+date_courante.msg" dans un dossier ayant comme nom les trois lettres prélevées dans le Subject (le chemin du dossier est écrit en dur dans le code).

Jusque là tout va bien. Mais j'aimerais aller plus loin :
- je souhaiterais connecter une base de données SQL Server dans laquelle j'ai un champ (comprenant les trois lettres du subject) auquel correspond un chemin, dans un autre champ. Ce qui permettrait de ne pas avoir à écrire le chemin en dur dans le code.

Sauriez-vous comment connecter cette base de donnée en Vba sous Outlook ? Les seuls exemples que j'ai trouvés ne s'appliquent qu'à Access.

Merci !

1 réponse

Avatar
Oliv'
*outlookvbadummy que je salue a écrit *:
Bonjour,
Je viens de créer une macro qui :
- isole les 3 premiers caractères de l'objet du mail sélectionné ;
- copie le mail sous le nom "Subject+date_courante.msg" dans un
dossier ayant comme nom les trois lettres prélevées dans le Subject
(le chemin du dossier est écrit en dur dans le code).

Jusque là tout va bien. Mais j'aimerais aller plus loin :
- je souhaiterais connecter une base de données SQL Server dans
laquelle j'ai un champ (comprenant les trois lettres du subject)
auquel correspond un chemin, dans un autre champ. Ce qui permettrait
de ne pas avoir à écrire le chemin en dur dans le code.

Sauriez-vous comment connecter cette base de donnée en Vba sous
Outlook ? Les seuls exemples que j'ai trouvés ne s'appliquent qu'à
Access.

Merci !



Salut,
C'est presque pareil je te conseil d'utiliser ADO
je te conseille cete lecture http://vb.developpez.com/bidou/recordset-ado/

Il faut référencer "Microsoft activex data Objects 2.x library"
Voici un exemple :


Public Const NomServeur = "monserveur"
Public Const NomBaseDeDonnées = "maBase"
Public Cnx As ADODB.Connection
Public LeMail As Outlook.MailItem

Private Sub connec()
'Déclaration de la variable de connexion
Dim Cnx As ADODB.Connection
Set Cnx = New ADODB.Connection

'Définition de la chaîne de connexion
Cnx.ConnectionString = "UID=" & NomUtilisateur & ";PWD=" & MotDePasse & ";"
& "DRIVER={SQL Server};Server=" & NomServeur & ";Database=" &
NomBaseDeDonnées & ";"

'Ouverture de la base de données
Cnx.Open
Dim Rst As New ADODB.Recordset
'Exécution de la requête

Rst.Open "SELECT * FROM si_sinistres where sin_refcourtier='" & ref & "'",
Cnx
If Rst.EOF = True And Rst.BOF = True Then

End If
Rst.Close
End Sub


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Outlook : http://faq.outlook.fr/
les macros Outlook : http://faq.outlook.fr/articles.php?cat_id
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
Dernière chance http://www.outlookcode.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~