Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
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 24/10/2011, 00h46   #1
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
Par défaut exporter vers outlook

Bonjour!!
la question à peu être déjà étée posée, mais je me demandais de quelle facon je peux prendre des informations ( la date, avec la description et le lieu) pour en faire un tâche avec rappel dans outlook?

si vous avez besoin j'ai un fichier test de déjà monter.


Merci d'avance
frank1365 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 09h58   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Voici un exemple brut de fonderie; à toi de l'adapter à tes besoins (la référence "Microsoft Outlook n.n Object Library" doit être cochée) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub AjoutTache()
Dim olApp As New Outlook.Application
Dim ObjTask As TaskItem, c As Range
Dim Rg As Range
Set olApp = Outlook.Application
With Worksheets("Feuil1")
    Set Rg = .Range("E2:E" & .Range("A65536").End(xlUp).Row)
End With
For Each c In Rg
    Set ObjTask = olApp.CreateItem(olTaskItem)
    With ObjTask
        .Subject = "Amélie travaille aujourd'hui et cette nuit."
        .ReminderTime = Sheets("Feuil1").Cells(c.Row, 1) + TimeValue("08:00:00")
        .ReminderSet = True
        .Close olSave
    End With
    Next c
Set ObjTask = Nothing
Set olApp = Nothing
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 18h34   #3
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
Merci alors si j'ai bien compris je fait une macro avec ce code?
j'ai essayer mais il m'affiche qu'il y a une erreure de compilation, je suppose que ce n,est pas normale?

j'ai essayer de joindre mon ficher exemple avec le message

et je vais continuer à essayer de travailler la dessus cette apres-midi et ce soir.
frank1365 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 18h55   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Dans la fenêtre de l'éditeur VB, clique sur Outils, Références; est-ce que tu as coché la référence :
"Microsoft Outlook n.n Object Library"
Si oui, quelle ligne est surlignée en jaune ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 19h11   #5
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
j'avoue mon erreurre oui ma fois stupide de ne pas avoir cocher outlook mais une fois cette action faite, je réesaie immédiatement.

Bravo Francois

ca fonctionne mais maintenant je suppose que je dois remplacer les informations par les ceux contenus dans mes cellules afin que ce soit ceux la qui apparaissent dans le rappel?

deuxieme question, est-ce que c'est normale que la tache apparaissent en double?

Merci beaucoup, tu viens de me sauver au moins des heures de travail

autre question qui peut paraitre inutile mais comment faire en sorte que le "Microsoft Outlook n.n Object Library" reste toujours cocher?
frank1365 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 19h36   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Le fait que ce soit coché est enregistré avec ton classeur.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 17h07   #7
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
D'abord un gros merci a Daniel pour les informations, elles m'ont étés très utiles.
désoler du délais de réponse j'ai été malade depuis 2 jours et donc moi pas travailler durant 2 jours, wow a écrire sur le calendrier.

maintenant j'ai une autre question, pour ce qui est de l'information que excel envoi a outlook, serait-il possible qu'il ne prennent que la 1ere ligne de mon fichier afin de l'envoyer dans outlook?
je suppose que ca doit se faire avec la fonction range qui elle définie la plage dans laquelle il va chercher l'information mais n'étant pas sur je préfére poser la question.

Merci d'avance
frank1365 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 19h00   #8
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
Par défaut à l'aide

Encore moi,

j'ai réussi a faire en parti ce que je voulais mais voici le code et si vous avez des pistes de comment automatiser le tout, je les prenderai avec joie.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Set ObjTask = olApp.CreateItem(olTaskItem)
    With ObjTask
        .Subject = "Inspection " + [a2]
        .ReminderTime = Sheets("Entrée données").[D2] + TimeValue("08:00:00")
        .ReminderSet = True
        .Close olSave
    End With
 
    Set ObjTask = olApp.CreateItem(olTaskItem)
    With ObjTask
        .Subject = "Inspection " + [a3]
        .ReminderTime = Sheets("Entrée données").[D3] + TimeValue("08:00:00")
        .ReminderSet = True
        .Close olSave
    End With
 
     Set ObjTask = olApp.CreateItem(olTaskItem)
    With ObjTask
        .Subject = "Inspection " + [a4]
        .ReminderTime = Sheets("Entrée données").[D4] + TimeValue("08:00:00")
        .ReminderSet = True
        .Close olSave
    End With

j'essaie de prendre chaque ligne qui n'est pas vide et de lui faire afficher le rappel.
Je peux réussir a le faire ainsi en ne changeant que le a2 pour le a3 et le d2 pour le d3 et ainsi de suite pour les autres lignes mais il doit etre possible de le faire automatiquement pour chaque ligne qui a des informations??
frank1365 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 19h53   #9
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Essaie :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
'Réf. 111026.xlsm frank1365
For i = 2 To 4
    If Cells(i, 1) <> "" And IsNumeric(Sheets("Entrée données").Cells(i, 4)) Then
        Set ObjTask = olApp.CreateItem(olTaskItem)
        With ObjTask
            .Subject = "Inspection " & Cells(i, 1)
            .ReminderTime = Sheets("Entrée données").Cells(i, 4) + TimeValue("08:00:00")
            .ReminderSet = True
            .Close olSave
        End With
    End If
Next i
j'ai remplacé le "+" de :
Code :
.Subject = "Inspection " + Cells(i, 1)
par "&" qui sert à concaténer des variables alphanumériques. Le "+" sert à additionner deux termes numériques.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 22h16   #10
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
ok j'ai essayer mais si je comprend bien ce qui est écrit, dans la cellule ca dit qu'elle doit etre vide et numérique pour que ca fonctionne ou c,est le contraire?

car je l,essaie pas a pas et il skip toujours cette partie la
frank1365 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 22h42   #11
Invité de passage
 
Homme Francois Poulin
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Nom : Homme Francois Poulin
Localisation : Canada

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 0
Points : 0
en fait j'ai trouver une grosse partie de la réponse, j,ai enlever la partie avec le numérique et tout fonctionne a merveille.
frank1365 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 11h45.


 
 
 
 
Partenaires

Hébergement Web