IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

supprimer tous les rdv du calendrier outlook


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Points : 45
    Points
    45
    Par défaut supprimer tous les rdv du calendrier outlook
    slut a tou voila je cherche comment supprimer tou les rdv du calendrier outlook...j'ai trouvé du code sur le net que j'ai modifié pour supprimer tous les rdv...malheureusement, ca marche pa trop....
    est ce que quelqu'un a une idee?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Dim outlk As OutLook.Application
    Dim appt As OutLook.AppointmentItem
    Dim Nom As OutLook.NameSpace
    Dim Calend As OutLook.Items
    Dim datedeb As String
    Dim datefin As String
     
    Set outlk = CreateObject("Outlook.Application")
    Set Nom = outlk.GetNamespace("MAPI")
    Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
    Set appt = outlk.CreateItem(olAppointmentItem)
    Calend.Sort "[Start]"
    Calend.IncludeRecurrences = True
     
    datedeb = Date - 1500
    datefin = Date + 1500
     
    Set appt = Calend.Find("[Start] >= """ & datedeb & """ and [Start] <= """ & datefin & """")
    Set appt = Calend.GetFirst
     
    While TypeName(appt) <> "nothing"
        appt.Delete
        Set appt = Calend.FindNext
    Wend
    merci
    arnolpourri

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    J'aurais fait plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim outlk As Outlook.Application
    Dim appt As Outlook.AppointmentItem
    Dim Nom As Outlook.NameSpace
    Dim Calend As Outlook.Items
    Set outlk = CreateObject("Outlook.Application")
    Set Nom = outlk.GetNamespace("MAPI")
    Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
    For Each appt In Calend
    appt.delete
    Next

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Points : 45
    Points
    45
    Par défaut
    bien ouaij pour la simplicité tofalu,
    c'est clair que c'est bocou plus facile comm ca...
    mais ca ne marche pas mieu que mon code...
    en fait, j'ai environ 60 rdv ds le calendrier et ces codes enlevent a chaque fois a peu pres la moitie de ces rdv...si je le relance une autre fois, il en restera plus que 13 ou 14...
    Est ce que tu aurai une explication a cela tofalu?
    Suis je obligé de lancer 20 fois ma procedure pour tout supprimer?

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Fonctionne trés bien chez moi avec 500 Rdv

    Essaye ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Each appt In Calend
    DoEvents
    appt.delete
    Next
    Et change la déclaration

    A priori c'est bien le doevents qui manque

    Parce que ceci ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    While Calend.Count > 0
    Calend.Remove Calend.Count
    Wend
    Par contre ceci fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    While Calend.Count > 0
    Calend.Remove Calend.Count
    DoEvents
    Wend
    Donc tu peux aussi essayer ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    While Calend.Count > 0
    Calend.Remove Calend.Count
    DoEvents
    Wend
    Sans le for each, et du coup tu peux enlever la déclaration de appt. Finalement c'est encore plus simple comme ça

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Points : 45
    Points
    45
    Par défaut
    bien ouaij tofalu, ca marche avec le dernier code...Cependant, j'avais déja eu l'idee de mettre un doevents dans mon ancian code, mais ca ne marchais pas mieux qu'avant...je sui petetr pa si pourri que ca finalement... ..
    Quoi qu'il en soit, maintenant ca marche impec ...
    t'assure tofalu 8) ....merci

    petite question cependant pour ma comprehension...
    a quoi sert en fait ces deux ligne de code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set Nom = outlk.GetNamespace("MAPI")
    Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
    parce que je ne compren pas exactement a quoi ell servent...
    merci

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Je n'en sais pas plus que toi

    Moi et outlook ça fait 4

    Donc l'aide outlook dit :

    Représente un objet racine abstrait pour un type de source de données quelconque. L'objet dispose de méthodes pour la connexion et la déconnexion, l'accès aux objets de stockage directement par l'identificateur, l'accès direct à certains dossiers particuliers par défaut et l'accès à des sources de données détenues par d'autres utilisateurs.

    Utilisation de l'objet NameSpace
    GetNameSpace("MAPI") permet de renvoyer l'objet NameSpace Outlook de l'objet Application.

    MAPI, seule source de données prise en charge, permet d'accéder à toutes les données Outlook stockées dans les banques de courrier de l'utilisateur.
    Donc GetNameSpace ressemble à une ouverture de session

    Par contre :

    Set Calend = Nom.GetDefaultFolder(olFolderCalendar).Items
    Là c'est plus facile. Outlook c'est comme l'explorateur Windows, il y a des dossiers : Un pour les mails, un pour les contacts, etc ..

    Là ça ouvre le calendrier par défaut

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Points : 45
    Points
    45
    Par défaut
    ok cimer albert...
    je v regardé l'aide un peu plus en profondeur...
    ta assuré tofalu...comm dab...
    ciao et merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OL-2007] Comment parcourir tous les RDV d'un calendrier
    Par basto dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 21/12/2011, 12h00
  2. Réponses: 4
    Dernier message: 24/08/2005, 18h40
  3. Méthode pour supprimer tous les enfants d'un élément
    Par Pymm dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/05/2005, 12h10
  4. Réponses: 4
    Dernier message: 24/09/2004, 10h17
  5. [Tomcat] Comment supprimer tous les logs ?
    Par Soulsurfer dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 11/05/2004, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo