OVH Cloud OVH Cloud

liaison entre excel et outlook

33 réponses
Avatar
Alain Camélique
bonjour,
voilà ma question. Je souhaite inscrire dans mon tableau excel une date de
rappel pour une ligne précise. Est-il possible de synchroniser directement
cette date dans Outlook - via une macro ou autre? Comme cela j'aurai
directement le rappel inscit dans mon calendrier.
J'ai office 2007. Merci de vos réponses

10 réponses

1 2 3 4
Avatar
Alain Camélique
J'ai repris tes macros copié tel quel sans modif à part le nom des cellules.
Je me demande si ce n'est pas mon excel qui a un problème...mais ton fichier
fonctionne à merveille donc je ne trouve pas le problème.



"Daniel.C" a écrit dans le message de news:

toujours le même message d'erreur et pour la macro tâche,



La macro pour les rendez-vous s'appelle AjoutRDV.
Daniel





Avatar
Daniel.C
Regarde mo ppost de 17:50:34.
Daniel

J'ai repris tes macros copié tel quel sans modif à part le nom des cellules.
Je me demande si ce n'est pas mon excel qui a un problème...mais ton fichier
fonctionne à merveille donc je ne trouve pas le problème.



"Daniel.C" a écrit dans le message de news:

toujours le même message d'erreur et pour la macro tâche,



La macro pour les rendez-vous s'appelle AjoutRDV.
Daniel







Avatar
Alain Camélique
Excuse moi Daniel,
le lien que tu mis fonctionne parfaitement :-)
du coup c'est quoi la fenêtre VBE - je crois bien que je ne sais toujours
pas ce que c'est :-( j'ai cru mais Non...un vrai débutant


"Daniel.C" a écrit dans le message de news:
%
Regarde mo ppost de 17:50:34.
Daniel

J'ai repris tes macros copié tel quel sans modif à part le nom des
cellules.
Je me demande si ce n'est pas mon excel qui a un problème...mais ton
fichier fonctionne à merveille donc je ne trouve pas le problème.



"Daniel.C" a écrit dans le message de news:

toujours le même message d'erreur et pour la macro tâche,



La macro pour les rendez-vous s'appelle AjoutRDV.
Daniel












Avatar
Daniel.C
C'est la fenêtre Visual Basic Editor, celle que tu as ouverte pour y
coller la macro.
N'hésite pas à poser toutes les questions qui te posent problème
Daniel

Excuse moi Daniel,
le lien que tu mis fonctionne parfaitement :-)
du coup c'est quoi la fenêtre VBE - je crois bien que je ne sais toujours pas
ce que c'est :-( j'ai cru mais Non...un vrai débutant


"Daniel.C" a écrit dans le message de news:
%
Regarde mo ppost de 17:50:34.
Daniel

J'ai repris tes macros copié tel quel sans modif à part le nom des
cellules.
Je me demande si ce n'est pas mon excel qui a un problème...mais ton
fichier fonctionne à merveille donc je ne trouve pas le problème.



"Daniel.C" a écrit dans le message de news:

toujours le même message d'erreur et pour la macro tâche,



La macro pour les rendez-vous s'appelle AjoutRDV.
Daniel














Avatar
Alain Camélique
OK mea culpa, j'ai cru que j'avais coché juste... j'sais même pas lire :-(
bon j'ai corrigée mon problème, la macro fonctionne M...E..R...C...I
merci merci
Mais j'ai encore 2 questions:
colonne L = date de RDV
Colonne F = subject
1° comme tu as mon classeur, tu peux remarquer que chaque ligne contient
d'autre information intégré au tableau à une date différente. Quand je mets
une date en L7 est que j'active la macro, elle reprend les info de L6 et F6
alors que j'aimerais qu'elle prenne les info relative à la ligne soit L7 et
F7 est ce possible que cela ce fasse automatiquement
2° tu peux apercercevoir des info en F6 G6 et I6 qui soient joint au
subject, plutôt que de fusionner ces 3 infos est ce possible?




"Daniel.C" a écrit dans le message de news:

C'est la fenêtre Visual Basic Editor, celle que tu as ouverte pour y
coller la macro.
N'hésite pas à poser toutes les questions qui te posent problème
Daniel


Avatar
Daniel.C
Dans le module, modifie la macro comme suit :

Sub AjoutRDV(Sujet As String, Dat As Date)
Dim OlApp As Object
Dim NS As Object, ObjRDV As Object
Set OlApp = CreateObject("Outlook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Set ObjRDV = OlApp.CreateItem(olAppointmentItem)
With ObjRDV
.Subject = Sujet
'.Body = "texte"
.Start = Dat
.Duration = 30
.ReminderMinutesBeforeStart = 0
.ReminderSet = True
.Display 'mettre en commentaire après mise au point
End With
ObjRDV.Save
End Sub

Clic droit sur l'onglet de la feuille "Janvier", clic sur "visualiser
le code; copie la macro suivante et colle-la dans la partie droite de
la fenêtre VBE :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 And Target.Column <> 12 Then Exit Sub
If Target.Row < 5 Or Target.Count > 1 Then Exit Sub
If Cells(Target.Row, 6) = "" Or Cells(Target.Row, 12) = "" Then
Exit Sub
If IsDate(Cells(Target.Row, 12)) Then
AjoutRDV Cells(Target.Row, 6).Value, Cells(Target.Row,
12).Value
Else
MsgBox "La cellule " & Cells(Target.Row, 12).Value & " n'pas
pas le format date"
End If
End Sub

Cette dernière macro se déclenche à chaque saisie dans une cellule mais
n'exécute rien tant que tu n'as pas rempli les cellules fn et Ln d'une
même ligne; dans ce cas, elle appelle la macro AjoutRDV en lui passant
le contenu des deux cellules en paramètres.


OK mea culpa, j'ai cru que j'avais coché juste... j'sais même pas lire :-(
bon j'ai corrigée mon problème, la macro fonctionne M...E..R...C...I merci
merci
Mais j'ai encore 2 questions:
colonne L = date de RDV
Colonne F = subject
1° comme tu as mon classeur, tu peux remarquer que chaque ligne contient
d'autre information intégré au tableau à une date différente. Quand je mets
une date en L7 est que j'active la macro, elle reprend les info de L6 et F6
alors que j'aimerais qu'elle prenne les info relative à la ligne soit L7 et
F7 est ce possible que cela ce fasse automatiquement
2° tu peux apercercevoir des info en F6 G6 et I6 qui soient joint au subject,
plutôt que de fusionner ces 3 infos est ce possible?




"Daniel.C" a écrit dans le message de news:

C'est la fenêtre Visual Basic Editor, celle que tu as ouverte pour y coller
la macro.
N'hésite pas à poser toutes les questions qui te posent problème
Daniel




Avatar
Alain Camélique
Oups...plus personne pour me répondre ?
Avatar
Daniel.C
Bonjour.
Tu fais bien de te manifester. Comme j'avais lu "merci", je n'avais pas
été plus loin...
Je regarde.
Daniel

Oups...plus personne pour me répondre ?


Avatar
Daniel.C
Ou plutôt, la réponse était mauvaise.
Il faut mettre le code suivant dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 And Target.Column <> 12 Then Exit Sub
If Target.Row < 5 Or Target.Count > 1 Then Exit Sub
If Cells(Target.Row, 6) = "" Or Cells(Target.Row, 12) = "" Then
Exit Sub
If Not IsDate(Cells(Target.Row, 12)) Then Exit Sub
Dim OlApp As Object
Dim NS As Object, ObjRDV As Object
Set OlApp = CreateObject("Outlook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Set ObjRDV = OlApp.CreateItem(olAppointmentItem)
With ObjRDV
.Subject = Cells(Target.Row, 6)
'.Body = "texte"
.Start = Cells(Target.Row, 12)
.Duration = 30
.ReminderMinutesBeforeStart = 0
.ReminderSet = True
.Display 'mettre en commentaire après mise au point
End With
ObjRDV.Save
End Sub

Il faut, de plus, mettre la colonne L au format date.
Vooici le classeur modifié. Le RDV est créé quand la cellule de la
colonne L et celle de la colonne F sont remplies.

Daniel


http://www.cijoint.fr/cjlink.php?file=cj200902/cijbsgMIIP.xls

Bonjour.
Tu fais bien de te manifester. Comme j'avais lu "merci", je n'avais pas été
plus loin...
Je regarde.
Daniel

Oups...plus personne pour me répondre ?




Avatar
Alain Camélique
Alors là Daniel... je ne sais comment te remercier.
Ta macro est parfaite. c'est exactement ce que je souhaitais.
Cette fois je te dis merci... mille fois merci.
Je vais essayer de copier le code dans mon classeur. Si je n'y arrive pas je
te relancerai



"Daniel.C" a écrit dans le message de news:

Ou plutôt, la réponse était mauvaise.
Il faut mettre le code suivant dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 And Target.Column <> 12 Then Exit Sub
If Target.Row < 5 Or Target.Count > 1 Then Exit Sub
If Cells(Target.Row, 6) = "" Or Cells(Target.Row, 12) = "" Then Exit
Sub
If Not IsDate(Cells(Target.Row, 12)) Then Exit Sub
Dim OlApp As Object
Dim NS As Object, ObjRDV As Object
Set OlApp = CreateObject("Outlook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Set ObjRDV = OlApp.CreateItem(olAppointmentItem)
With ObjRDV
.Subject = Cells(Target.Row, 6)
'.Body = "texte"
.Start = Cells(Target.Row, 12)
.Duration = 30
.ReminderMinutesBeforeStart = 0
.ReminderSet = True
.Display 'mettre en commentaire après mise au point
End With
ObjRDV.Save
End Sub

Il faut, de plus, mettre la colonne L au format date.
Vooici le classeur modifié. Le RDV est créé quand la cellule de la colonne
L et celle de la colonne F sont remplies.

Daniel


http://www.cijoint.fr/cjlink.php?file=cj200902/cijbsgMIIP.xls

Bonjour.
Tu fais bien de te manifester. Comme j'avais lu "merci", je n'avais pas
été plus loin...
Je regarde.
Daniel

Oups...plus personne pour me répondre ?









1 2 3 4