Création d'un horaire sous excel + envoi dans Outlook

manu.englebert

XLDnaute Nouveau
Bonjour à tous (toutes!),
Je suis nouveau sur le forum car j'ai besoin d'un petit coup de pouce pour excel...

Je vous explique un peu ma situation:
Je suis conducteur de trains en Belgique (maudits trains diront certains :p mais moi c'est ma passion donc çaa ne se discute pas :p). Et on a, à certaines conditions, l'avantage de connaitre son horaire pour l'année (ça s'appelle une "série". = un certain nombre de conducteurs qui effectuent à tour de rôle un certain nombre de service suivant une grille établie).
La grille est a même pour tout le monde (dans le fichier joint, il s'agit des feuilles "RCV, NCV, RTP" (=périodes de vacances ou pas). Il n'y a absolument aucunes formules là dedans.
Ce qui change, c'est notre place (le chiffre tout à gauche) + la date d'entrée en série. Le tout encodé sur la feuille "données".
Je vous joint un fichier PDF pour que vous voyez ce que ça donne quand je l'imprime.

Maintenant, ça se corse, j'aimerais pouvoir injecter ce calendrier dans le calendrier Outlook afin de pouvoir l'envoyer à n'importe quel collègue. Pour ça, j'ai trouvé un script en VBA d'un gentil participant à votre forum. Ca je pense pouvoir le mettre facilement dans mon fichier. Mais alors, je n'arrive pas à transformer mon calendrier en base de données.

C'est là que j'aurai besoin de vous. Je ré-essaye de faire mon calendrier avec le formule, mais c'est quasiment impossible avec les fameuses grilles que je dois respecter.

Donc voilà, je bloque ici. Si quelqu'un aurait une solution pour moi, ca serait le top:D

Merci d'avance pour l'aide que vous m'apporterez et votre patience pour votre lecture.

Manu

(c) CJoint.com, 2012 (Ce que ca donne en PDF)
 

Pièces jointes

  • Horaire.xlsx
    136.1 KB · Affichages: 43
  • GestionCalendrierOutlook_CreationRDV.xls
    28 KB · Affichages: 30
  • Horaire.xlsx
    136.1 KB · Affichages: 43
  • GestionCalendrierOutlook_CreationRDV.xls
    28 KB · Affichages: 36
  • Horaire.xlsx
    136.1 KB · Affichages: 42
  • GestionCalendrierOutlook_CreationRDV.xls
    28 KB · Affichages: 35
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Création d'un horaire sous excel + envoi dans Outlook

Bonsoir Manu, le forum,

Dans tes feuilles "RCV, NCV, RTP" il n'y a pas de date, est-ce normal ?
Pour joindre des fichiers, ne passe pas par cjoint.com, tu as la possibilité de les joindre dans ton message dans le mode création ou dans le mode avancé lorsque tu réponds.
Dans la première ligne d'icônes il y a un bouton avec un trombone sur une feuille, c'est mieux de passer par là.

A+
Martial
 

manu.englebert

XLDnaute Nouveau
Re : Création d'un horaire sous excel + envoi dans Outlook

Bonjour!
Oups, désolé, je n'avais pas vu cette rubrique. C'est modifié, sauf le PDF (qui n'est pas important) que je n'arrive pas à mettre.
En ce qui concerne les feuilles RCV, NCV, RTP, oui c'est normal. Vu que chaque conducteur ne commence pas à la même date. Donc la date est à encoder dans "Feuille de données" et la grille horaire se base sur ça.
Les dates pour ces trois périodes sont reprises sur cette feuille également.
Pour mon cas, je commencais ma "sérieé le 14/12. mais d'autres commencent le 22/12 par exemple. C'est pour ça que je ne mets pas de dates sur ces feuilles là.

Merci d'avance/

Bon week-end :)
 

Yaloo

XLDnaute Barbatruc
Re : Création d'un horaire sous excel + envoi dans Outlook

Bonsoir Manu, le forum,

Comment veux-tu procéder si l'on a pas les dates ? J'ai bien vu la "feuille résultat" qui comprend des dates, c'est plutôt celle-ci qu'il faut prendre en compte ?
Sinon je ne vois pas comment faire pour envoyer les dates dans OutLook

A+

Martial
 

manu.englebert

XLDnaute Nouveau
Re : Création d'un horaire sous excel + envoi dans Outlook

Bonsoir Manu, le forum,

Comment veux-tu procéder si l'on a pas les dates ? J'ai bien vu la "feuille résultat" qui comprend des dates, c'est plutôt celle-ci qu'il faut prendre en compte ?
Sinon je ne vois pas comment faire pour envoyer les dates dans OutLook

A+

Martial

Salut!

C'est bien ça, il faut que je prenne la feuille résultat. Sur les autres, ça ne sont que des données brut qui me servent à faire l'horaire en fonction de la période (=RCV,NCV,RTP) et je respecte également l'ordre des semaine (tout à gauche de chaque feuille). La date dans "résultats" est définie en fonction de chaque conducteur. Et les grilles RCV, NCV, RTP sont les même pour tout le monde.

Je ne sais pas si tu y vois un peu plus clair? Je sais bien que ça n'est pas évident à comprendre surtout si on est pas dedans. Désolé:confused:
 

Yaloo

XLDnaute Barbatruc
Re : Création d'un horaire sous excel + envoi dans Outlook

Bonjour Manu, le forum,

Vois avec cette macro dans l'onglet "Résultats", ça doit le faire.
VB:
Option Explicit

Sub envoi()
Dim f As Date, d As Date, c&, l&, durée
Dim myOlApp As New Outlook.Application
Dim MyItem As Outlook.AppointmentItem

For l = 3 To [A65536].End(3).Row Step 3
  For c = 2 To 14 Step 2
    If Cells(l, c) <> "" And Cells(l, c + 1) <> "" Then
      Set MyItem = myOlApp.CreateItem(olAppointmentItem)
    
      With MyItem
        .MeetingStatus = olNonMeeting
        .Subject = Cells(l, c)
        
        d = Format(Cells(l - 1, c) + Cells(l, c + 1), "dd/mm/yyyy h:mm:ss")
        f = Format(Cells(l - 1, c) + Cells(l + 1, c + 1), "dd/mm/yyyy h:mm:ss")
        durée = DateDiff("n", d, f) + IIf(d > f, 1440, 0)
        
        .Start = d
        .Duration = durée
        .Save
      End With
    
      Set MyItem = Nothing
   
    End If
  Next
Next
End Sub

A+

Martial
 

Pièces jointes

  • horaire.xlsm
    135.2 KB · Affichages: 37
  • horaire.xlsm
    135.2 KB · Affichages: 45
  • horaire.xlsm
    135.2 KB · Affichages: 42

manu.englebert

XLDnaute Nouveau
Re : Création d'un horaire sous excel + envoi dans Outlook

Bonjour Manu, le forum,

Vois avec cette macro dans l'onglet "Résultats", ça doit le faire.
VB:
Option Explicit

Sub envoi()
Dim f As Date, d As Date, c&, l&, durée
Dim myOlApp As New Outlook.Application
Dim MyItem As Outlook.AppointmentItem

For l = 3 To [A65536].End(3).Row Step 3
  For c = 2 To 14 Step 2
    If Cells(l, c) <> "" And Cells(l, c + 1) <> "" Then
      Set MyItem = myOlApp.CreateItem(olAppointmentItem)
    
      With MyItem
        .MeetingStatus = olNonMeeting
        .Subject = Cells(l, c)
        
        d = Format(Cells(l - 1, c) + Cells(l, c + 1), "dd/mm/yyyy h:mm:ss")
        f = Format(Cells(l - 1, c) + Cells(l + 1, c + 1), "dd/mm/yyyy h:mm:ss")
        durée = DateDiff("n", d, f) + IIf(d > f, 1440, 0)
        
        .Start = d
        .Duration = durée
        .Save
      End With
    
      Set MyItem = Nothing
   
    End If
  Next
Next
End Sub

A+

Martial

Salut Martial ainsi que le forum!

Je suis vraiment désolé du retard.

Ca marche nikel!

Un tout grand merci!;)

Bonne fête de Noël à tous et meilleurs voeux pour 2015

Manu
 

Discussions similaires

Réponses
4
Affichages
372

Statistiques des forums

Discussions
314 450
Messages
2 109 721
Membres
110 551
dernier inscrit
Khyolyanna