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

VBA Outlook Discussion :

[Calendrier Outlook] Récupération d'informations


Sujet :

VBA Outlook

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut [Calendrier Outlook] Récupération d'informations
    Bonjour, je développe actuellement une macro pour outlook dans le cadre d'un stage, et j'aurais quelques questions auxquelles je n'ai pas trouvé de réponse dans les FAQ ou les autres forums (j'ai peut-être mal cherché aussi)

    Est-il possible de savoir quelle est le nom de l'utilisateur qui utilise outlook à travers la macro?
    Car en fait c'est une macro qui va s'exécuter sur plusieurs postes en même temps, et cette macro crée un fichier qui doit porter le nom de la personne qui a lancé la macro ( afin de savoir à qui appartient le fichier ).

    J'ai une deuxième question, est-il possible de transformer la macro en service?
    ou alors, est-il possible de faire en sorte qu'elle s'éxécute à des instants définis et sans action de l'utilisateur.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Ce nom n'est pas propre à Outlook mais au système.

    Pour y arriver, il faut le faire en deux fois c'est mieux.

    Une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function Utilisateur() as string
    Utilisateur = Environ("username")
    End Function
    Si tu vas dans la console, et que tu tape SET, tu va voir apparaître une foule d'informations relatives à la machine et à l'utilisateur.

    Username est le nom d'utilisateur.


    Ensuite, il te suffit de faire appel à cette fonction dans ton code pour récupérer le nom de l'utilisateur. C'est le nom de la session windows.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Merci beaucoup, j'avais trouvé une astuce en passant par currentuser, mais ta solution est mieux.

    Sinon concernant le fait de mettre une macro en tant que service, c'est possible ou carrément pas?

    Merci d'avance

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Mettre une macro comme service, j'ai jamais tenté la chose et à mon avis c'est peu probable.

    Pour fonctionner, elle a besoin d'une application comme support.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Merci pour tes réponses en tout cas

    Comme on ne peut pas la mettre en tant que service, j'aimerais qu'elle se déclenche à heures fixes, ainsi qu'au démarrage et à la fermeture d'Outlook.

    Concernant le démarrage et la fermeture, aucun problème, c'est fait.

    Par contre, je n'arrive pas à la déclencher à heures fixes, après avoir cherché un peu, j'ai trouvé des trucs du style Application.OnTime Timevalue("heuredelancement"),"macroalancer",True...
    Par contre, ça ne marche pas du tout, outlook ne reconnait même pas OnTime...
    Si vous avez une autre solution, je suis preneur.

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Pour le démarrage de Outlook, c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sub Application_Startup()
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sub Application_Quit()
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Merci Heureux-oli pour ton attention à mon problème
    Concernant application quit et application start, j'avais déjà trouvé ça, et ça fonctionne, il me reste quand même à faire le déclenchement à heures fixes, et ça ça pose problème...

    Sinon j'ai un autre dernier problème.......
    J'extrais les rendez-vous du calendrier outlook.
    Cependant quand on crée un nouveau rendez-vous, on peut spécifier des contacts que l'on rajoute à ce rendez-vous ( en bas à gauche de la fenêtre ).
    Mais je n'arrive pas à trouver la propriété qui contient la liste de ces contacts....super frustrant, j'ai testé toutes les propriétés que m'offrait Outlook.appointmentItem (qui contient la liste de tous les rendez vous du calendrier)
    En gros j'arrive pas avec ma macro à récupérer les contacts que je rajoute à mon rendez-vous (pas les personnes qui doivent être présentes au rendez-vous, mais un autre type de contacts, je sais pas si je suis très clair)
    Si quelqu'un sait comment récupéré ça, je suis très intéressé

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 48
    Par défaut
    Citation Envoyé par bitardo
    Merci Heureux-oli pour ton attention à mon problème
    Concernant application quit et application start, j'avais déjà trouvé ça, et ça fonctionne, il me reste quand même à faire le déclenchement à heures fixes, et ça ça pose problème...

    Sinon j'ai un autre dernier problème.......
    J'extrais les rendez-vous du calendrier outlook.
    Cependant quand on crée un nouveau rendez-vous, on peut spécifier des contacts que l'on rajoute à ce rendez-vous ( en bas à gauche de la fenêtre ).
    Mais je n'arrive pas à trouver la propriété qui contient la liste de ces contacts....super frustrant, j'ai testé toutes les propriétés que m'offrait Outlook.appointmentItem (qui contient la liste de tous les rendez vous du calendrier)
    En gros j'arrive pas avec ma macro à récupérer les contacts que je rajoute à mon rendez-vous (pas les personnes qui doivent être présentes au rendez-vous, mais un autre type de contacts, je sais pas si je suis très clair)
    Si quelqu'un sait comment récupéré ça, je suis très intéressé
    Salut bitardo,

    Je passe par la et vois que tu as fait exactement ce que je recherche

    Est ce possible que tu puisses me donner le code ? En fait je suis actuellement sur un projet d'outil CRM mais n'est pas de plug-in afin de synchroniser le CRM a Outlook et ton travail me permettrai de pouvoir du moins synchroniser le calendrier !!

    Merci d'avance!

  9. #9
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Salut, en fait j'ai finalement trouvé comment faire, je posterais le code demain, parce qu'il est au boulot, et que je l'ai pas sur moi la.

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Citation Envoyé par bitardo
    Salut, en fait j'ai finalement trouvé comment faire, je posterais le code demain, parce qu'il est au boulot, et que je l'ai pas sur moi la.
    Et alors, tu devrais l'avoir en permanence sur toi, même sur ta table de nuit !!
    Je suis déçu !
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 48
    Par défaut
    Citation Envoyé par bitardo
    Salut, en fait j'ai finalement trouvé comment faire, je posterais le code demain, parce qu'il est au boulot, et que je l'ai pas sur moi la.
    Merci, c'est sympa

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Heureux-oli : Faut pas abuser non plus, déjà que je me cognais la tête contre les murs la journée avec ce VBA, j'allais pas m'en filer des insomnies .
    Bon pour moi maintenant c'est fini, je re-attaque le java pour traiter les fichiers que je génère avec la macro.

    ylabarre : de rien quand on peut aider c'est normal.


    Voilà donc mon code, si vous avez des questions, des suggestions, je suis preneur bien évidemment.
    (ha oui, faudra que je finisse de commenter le code aussi )

    ma classe rendez-vous :
    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
    26
    Option Explicit
     
    Public objet As String
    Public datedebut As String
    Public heuredebut As String
    Public heurefin As String
    Public categorie As String
    Public disponibilite As Integer
    Public typerdv As String
     
     
    Public Sub Ecrire()
        Print #1, "<evenement>"
            Print #1, Tab; "<objet>" & objet & "</objet>"
            Print #1, Tab; "<informations>"
                Print #1, Tab; Tab; "<date>" & datedebut & "</date>"
                Print #1, Tab; Tab; "<heuredebut>" & heuredebut & "</heuredebut>"
                Print #1, Tab; Tab; "<heurefin>" & heurefin & "</heurefin>"
                Print #1, Tab; Tab; "<categorie>" & categorie & "</categorie>"
                Print #1, Tab; Tab; "<disponibilite>" & disponibilite & "</disponibilite>"
                Print #1, Tab; Tab; "<type>" & typerdv & "</type>"
            Print #1, Tab; "</informations>"
        Print #1, "</evenement>"
     
     
    End Sub
    mon module Exporter maintenant :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    Sub exportation()
        Dim dirLocation As String
        Dim dirLocation2 As String
        Dim Racine As String
        Dim iMois As Integer
        Dim cRendezvous As New rendezvous
     
        Racine = "S:\Developpement\"
        Dim objApplication As Outlook.Application
        Dim objNameSpace As Outlook.NameSpace
        Dim objAppointments As Outlook.MAPIFolder
        Dim objAppointment As Outlook.AppointmentItem
        Dim myAppointment As Outlook.Items
        Dim appointmentIndex As Integer
        Dim iCompteur As Integer
     
        Set objApplication = CreateObject("Outlook.Application")
        Set objNameSpace = objApplication.GetNamespace("MAPI")
        Set objAppointments = objNameSpace.GetDefaultFolder(olFolderCalendar)
        Set myAppointment = objNameSpace.GetDefaultFolder(olFolderCalendar).Items
        dirLocation = Racine & Environ("username") & "." & Format(Now, "yyyymm") & ".xml"
        dirLocation2 = Racine & Environ("username") & "." & Format(Now - (Day(Now) + 1), "yyyymm") & ".xml"
     
    For iMois = 0 To 1
     
        If iMois = 0 Then
        Open dirLocation For Output As #1
        Else
        Open dirLocation2 For Output As #1
        End If
        Print #1, "<?xml version=" & Chr$(34) & "1.0" & Chr$(34) & " encoding=" & Chr$(34) & "ISO-8859-1" & Chr$(34) & "?>"
        Print #1, "<!DOCTYPE donnees SYSTEM " & Chr$(34) & "DTD/donneesXML.dtd" & Chr$(34) & ">"
        Info = Split(Environ("username"), ".")
        Print #1, "<rendez-vous nom=" & Chr$(34) & Info(1) & Chr$(34) & " prenom=" & Chr$(34) & Info(0) & Chr$(34) & ">"
     
     
        For appointmentIndex = 1 To objAppointments.Items.Count
             Set objAppointment = objAppointments.Items.Item(appointmentIndex)
             ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
             ''                             Mois en cours                                  ''
             ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
             'On cherche quels éléments appartiennent au mois en cours, et lesquelles appartiennent au mois d'avant
             If Format(objAppointment.Start, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm") Or Format(objAppointment.End, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm") Then
     
                ''''''''''''''''''''''''''''''''''''''''''''''''''''''
                '' Gestion du cas où une tâche dure plusieurs jours ''
                ''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
                If Format(objAppointment.Start, "dd") <> Format(objAppointment.End, "dd") Then
                    'Si la tâche chevauche plusieurs mois
                        If Format(objAppointment.End, "mm") <> Format(objAppointment.Start, "mm") Then
                            If Format(objAppointment.Start, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm") Then
                                iCompteur = 0
                                While Format(objAppointment.Start + iCompteur, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm")
                                    cRendezvous.objet = objAppointment.Subject
                                    cRendezvous.datedebut = Format(objAppointment.Start, "yyyymm") & Format(objAppointment.Start - iCompteur, "dd")
                                    cRendezvous.heuredebut = "0800"
                                    cRendezvous.heurefin = "1730"
                                    If objAppointment.categories = "" Then
                                    cRendezvous.categorie = "HC"
                                    Else
                                    cRendezvous.categorie = objAppointment.categories
                                    End If
                                    cRendezvous.disponibilite = objAppointment.BusyStatus
                                    If objAppointment.Links.Count <> 0 Then
                                    cRendezvous.typerdv = objAppointment.Links.Item(1)
                                    Else
                                    cRendezvous.typerdv = "HP"
                                    End If
                                    cRendezvous.Ecrire
                                    iCompteur = iCompteur + 1
                                Wend
                            ElseIf Format(objAppointment.End, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm") Then
                                iCompteur = Format(objAppointment.End, "dd")
                                While iCompteur > 0
                                    cRendezvous.objet = objAppointment.Subject
                                    cRendezvous.datedebut = Format(objAppointment.End, "yyyymm") & Format(objAppointment.End - iCompteur + 1, "dd")
                                    cRendezvous.heuredebut = "0800"
                                    cRendezvous.heurefin = "1730"
                                    If objAppointment.categories = "" Then
                                    cRendezvous.categorie = "HC"
                                    Else
                                    cRendezvous.categorie = objAppointment.categories
                                    End If
                                    cRendezvous.disponibilite = objAppointment.BusyStatus
                                    If objAppointment.Links.Count <> 0 Then
                                    cRendezvous.typerdv = objAppointment.Links.Item(1)
                                    Else
                                    cRendezvous.typerdv = "HP"
                                    End If
                                    cRendezvous.Ecrire
                                    iCompteur = iCompteur - 1
                                Wend
                            End If
                        Else
     
                    For iCompteur = 0 To Abs(Format(objAppointment.End, "dd") - Format(objAppointment.Start, "dd"))
                        If Format(objAppointment.Start + iCompteur, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm") Or Format(objAppointment.End + iCompteur, "mm") = Format(Now - iMois * (Day(Now) + 1), "mm") Then
     
                            If iCompteur <> (Format(objAppointment.End, "dd") - Format(objAppointment.Start, "dd")) Or Format(objAppointment.End, "hhmmss") <> "000000" Then
                                cRendezvous.objet = objAppointment.Subject
                                cRendezvous.datedebut = Format(objAppointment.Start + iCompteur, "yyyymmdd")
                                cRendezvous.heuredebut = "0800"
                                cRendezvous.heurefin = "1730"
                                If objAppointment.categories = "" Then
                                cRendezvous.categorie = "HC"
                                Else
                                cRendezvous.categorie = objAppointment.categories
                                End If
                                cRendezvous.disponibilite = objAppointment.BusyStatus
                                If objAppointment.Links.Count <> 0 Then
                                cRendezvous.typerdv = objAppointment.Links.Item(1)
                                Else
                                cRendezvous.typerdv = "HP"
                                End If
                                cRendezvous.Ecrire
                            End If
                        End If
                    Next
                    End If
                Else
                    cRendezvous.objet = objAppointment.Subject
                    cRendezvous.datedebut = Format(objAppointment.Start, "yyyymmdd")
                    cRendezvous.heuredebut = Format(objAppointment.Start, "hhmm")
                    cRendezvous.heurefin = Format(objAppointment.End, "hhmm")
                    If objAppointment.categories = "" Then
                    cRendezvous.categorie = "HC"
                    Else
                    cRendezvous.categorie = objAppointment.categories
                    End If
                    cRendezvous.disponibilite = objAppointment.BusyStatus
                    If objAppointment.Links.Count <> 0 Then
                    cRendezvous.typerdv = objAppointment.Links.Item(1)
                    Else
                    cRendezvous.typerdv = "HP"
                    End If
                    cRendezvous.Ecrire
                End If
            End If
        Next
        Print #1, "</rendez-vous>"
        Close #1
    Next
        MsgBox "Les sauvegardes on été effectuées dans  : " & dirLocation & " et " & dirLocation2
    End Sub

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 48
    Par défaut
    Encore merci si je m'amène à l'utiliser ça va bien m'être utile.

  14. #14
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    No problemo.
    Si t'as des questions relatives à ce code, et dans le mesure de mes capacités, je suis prêt à t'aider

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 48
    Par défaut
    Code puissant, rapide et fonctionne du premier coup !! thx

    Par contre il me file un bug sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Print #1, "<rendez-vous nom=" & Chr$(34) & Info(1) & Chr$(34) & " prenom=" & Chr$(34) & Info(0) & Chr$(34) & ">"
    indice n'appartient pas a la selection
    Une fois que je la met en commentaire tout passe mais sinon je met
    print <rendez-vous> ça me va donc bon...

    et j'ai également mit le code devant s'executer au démarrage de Outlook comme ça, bingo !

    Merci !!

    EDIT : Bien vu pour la fonction ecrire au fait, cela permet de modifier a sa guise, ce que je vais faire vu que moi ce sera un .csv avec "," au lieu du xml.
    Franchement encore merci, du bon boulot.

  16. #16
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Par défaut
    Ha oui je vois ton problème...
    En fait, là où je bosse, on est identifié en tant que prenom.nom

    Donc pour récupérer d'un côté le prénom et de l'autre le nom, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info = Split(Environ("username"), ".")
    Comme ça dans Info(0) y'a le prénom et dans Info(1) le nom...

    Mais effectivement si ton nom d'utilisateur n'a pas de ".", Info(1) n'existe bien évidemment pas , d'où le message d'erreur d'indice.

    J'avais pas pensé à ce cas là, faut faire un test, ou enlever le Split et mettre directement Environ("username").

    Ravi que mon code te plaise

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

Discussions similaires

  1. [XL-2007] Récupération des données du calendrier Outlook + Réponse des invités
    Par Amarox dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/07/2013, 15h44
  2. Récupération calendrier outlook après synchro palm
    Par Missembrouille dans le forum Outlook
    Réponses: 1
    Dernier message: 02/01/2009, 21h00
  3. Réponses: 9
    Dernier message: 17/08/2004, 16h16
  4. [VBA][outlook] récupération des adresses mail
    Par arno2004 dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 27/07/2004, 18h48
  5. Réponses: 6
    Dernier message: 28/04/2004, 10h41

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