XL 2016 rdv outlook et amélioration userform

CYRIL CAMPAS

XLDnaute Junior
Bonjour la communauté, j'espère que vous allez bien !
je fais appel à vous aujourd'hui pour un nouveau défi, je vous explique...
j'ai créé un fichier Excel, vous y trouverez un userform qui me permet de remplir un tableau avec des données.

1er défi : j'ai deux textbox dans lesquelles je saisis des dates manuellement, je n'ai pas trouvé comment déclencher un calendrier dans cet encart pour venir sélectionner une date (j'aurai trouvé ça plus classe quand même)

2ème défi : j'ai créé une macro au bout de chaque ligne du tableau (on peut certainement dupliquer mais je ne sais pas faire), cette macro reprend les valeurs du tableau pour envoyer un mail automatiquement au destinataire sélectionné dans le tableau (il y a une colonne cachée qui donne le mail de contact). Finalement, je me rends compte que j'aurai souhaité soit :

en plus du mail, que ça cale un rdv dans l'agenda outlook de la personne concernée pour 30 minutes

soit, si trop compliqué, ça n'envoie pas le mail, mais ça cale uniquement le rdv dans outlook.

je ne sais plus trop par où attaquer, mon cerveau a fumé jusqu'à tard hier soir, je n'y vois plus clair !

merci par avance les XLnautes !
 

Pièces jointes

  • WOR CL - Copie Formulaire.xlsm
    225.9 KB · Affichages: 6

CYRIL CAMPAS

XLDnaute Junior
Bonjour JM27 ! merci pour ton aide précieuse ! ton calendrier est super! pour le mail je vais continuer à creuser de toute façon, mais pas simple...

j'ai une question, je t'ai envoyé une copie de mon fichier sur lequel j'ai supprimé des onglets pour l'alléger, comment je peux copier ton code sur mon fichier original ?
 

JM27

XLDnaute Barbatruc
Bonjour
pas de soucis
le code est lié à l'userform 1 et aux module de classe et au module standard , et n'est pas lié a aucune feuille.

Pour adapter à ton fichier : tu ouvres les deux fichier tu tu vas dans le VBA .
Tu clic sur le module de classe de mon fichier et tu le glisse dans le module de ton projet.
Idem pour l'userform

Et dans le module standard tu copies ces macros
normalement ca devrait le faire

VB:
Public MemTop As Double
Public MemLeft As Double
Public newdate As Date, an As Integer, mois As Integer
Public Toto As Object

'Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Function lundi(mois, annee)
For n = CDate("01/" & mois & "/" & an) To CDate("07/" & mois & "/" & an)
  If Weekday(n, vbMonday) = 1 Then lundi = n - 7
Next
End Function
 

Discussions similaires

Réponses
10
Affichages
402

Statistiques des forums

Discussions
312 095
Messages
2 085 249
Membres
102 836
dernier inscrit
Ali Belaachet