Bonjour.
Ca fonctionne chez moi. Il y a soit une différence d'environnement,
soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
exécuter la macro suivante et poster le classeur résultat - ou
seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
l'adresse générée.
Sub test1()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Sheets.Add before:=Sheets(1)
For j = 1 To NS.Folders.Count
ligne = ligne + 1
Cells(ligne, 1) = NS.Folders(j).Name
For k = 1 To NS.Folders(j).Folders.Count
ligne = ligne + 1
Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
Set Dossier = NS.Folders(j).Folders(k)
Next k
Next j
End Sub
Daniel
> J'ai fait mon double click sur un libellé à la fin de l'execution rien ne se
> passe
> Voici les valeurs que j'ai en cours d'execution
> Si cela peux vous aider
>
> Set OlApp = CreateObject("OutLook.Application") = "outlook"
> Set fs = CreateObject("Scripting.FileSystemObject") = pas de
> valeur Set OlExp = OlApp.ActiveExplorer
> ="nothing
> Set NS = OlApp.GetNamespace("MAPI") ="MAPI
> For j = 1 To NS.Folders.Count
> = "1"
> Set f = NS.Folders(j)
> = "nom d'un répertoire de de outlook"
> For k = 1 To NS.Folders(j).Folders.Count = "2"
> Set Dossier = NS.Folders(j).Folders(k) =
> "nom d'un dossier"
> For Each i In Dossier.Items =
> ""
> If i.Subject
> = Target.Value Then
> i.display
> End If
> Next i
> Next k
> Next j
> End Sub
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca change un peu la donne :
>> 1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
>> le message (implicitement, il n'y a pas de doublons).
>> 2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
>> figure dans la liste "Fichier", "Gestion de fichiers de données".
>> Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
>> une instruction est particulière à XL2007 :
>>
>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>> As Boolean)
>> Dim OlApp As Object, NS As Object, Dossier As Object
>> Dim OlExp As Object
>> Dim i As Object, j As Integer, k As Integer
>> Cancel = True
>> Set OlApp = CreateObject("OutLook.Application")
>> Set fs = CreateObject("Scripting.FileSystemObject")
>> Set OlExp = OlApp.ActiveExplorer
>> Set NS = OlApp.GetNamespace("MAPI")
>> For j = 1 To NS.Folders.Count
>> Set f = NS.Folders(j)
>> For k = 1 To NS.Folders(j).Folders.Count
>> Set Dossier = NS.Folders(j).Folders(k)
>> For Each i In Dossier.Items
>> If i.Subject = Target.Value Then
>> i.display
>> End If
>> Next i
>> Next k
>> Next j
>> End Sub
>>
>> Daniel
>>
>>> pour répondre ta question:
>>> oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à mes
>>> messages.
>>> j'ai encore un plantage
>>> A chaque test je ferme mon fichier excel pour bien repartir sur un
>>> programme propre
>>> Je pense que de base je dois bien click colonne A
>>>
>>> Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
>>> j'ai fait les tests suivants messagerie ouverte et fermé
>>>
>>> Si je double click sur un libellé de la colonne A j'ai un plantage à la
>>> ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>> Le terme "test" me surprend est il toujours d'actualité
>>>
>>> Si je double click sur un libellé de la colonne B j'ai un plantage à la
>>> ligne NS.AddStore Target.Offset(, 1).Value
>>>
>>>
>>>
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
>>>> dans Outlook. Si ce n'est pas le cas, dis-le.
>>>> Daniel
>>>>
>>>>> je n'ai pas bien compris le:
>>>>> " En supposant que le dossier et le fichier pst soit en colonne B"
>>>>>
>>>>> je pense que cela vient de m'on explication donc je reprends:
>>>>> Sur mon disque D:
>>>>> J'ai des dossiers :(sens dossier Explorateur)
>>>>> Dossier 1
>>>>> Dossier 2
>>>>> Dans ces dosssiers j'ai des fichiers xxx.pst
>>>>> Dossier 1: fichier a. pst, fichier b. pst, etc
>>>>> Dossier 2: fichier a. pst, fichier b. pst, etc
>>>>>
>>>>> Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier outlook)
>>>>> Fichier 1.pst dossier aa, dossier bb, etc
>>>>>
>>>>> je vais donc copier sur ma feuille le libellé d'un message qui vient de:
>>>>> Dossier 1 > fichier a. pst > dossier aa message 1
>>>>> Dossier 2 > fichier b. pst > dossier bb message 2
>>>>>
>>>>> Voici ci dessous des exemples pour j'espére étre plus claire
>>>>>
>>>>> j'ai relancé votre ancien code ce matin et j'ai de nouveau une erreur???
>>>>> Le programme plant ligne " NS.AddStore Target.Offset(, 1).Value"
>>>>>
>>>>> je suis un peux perdu
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> Oups.
>>>>>> Lire :
>>>>>> En supposant que le dossier et le fichier pst soit en colonne B
>>>>>> au lieu de :
>>>>>> En supposant que le dossier du fichier pst soit en colonne B
>>>>>> Daniel
>>>>>>> En supposant que le dossier du fichier pst soit en colonne B :
>>>>>>>
>>>>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>>>>> As Boolean)
>>>>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>>>>> Dim OlExp As Object
>>>>>>> Dim i As Object
>>>>>>> Cancel = True
>>>>>>> Set OlApp = CreateObject("OutLook.Application")
>>>>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>>>>> Set OlExp = OlApp.ActiveExplorer
>>>>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>>>>> NS.AddStore Target.Offset(, 1).Value
>>>>>>> Set objFolder = NS.Folders.Item(NS.Folders.Count)
>>>>>>> Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>>>> For Each i In Dossier.Items
>>>>>>> If i.Subject = Target.Value Then
>>>>>>> i.display
>>>>>>> End If
>>>>>>> Next i
>>>>>>> NS.RemoveStore objFolder
>>>>>>> End Sub
>>>>>>>
>>>>>>> Fais bien une sauvegarde de ton fichier pst courant avant de tester.
>>>>>>> Daniel
>>>>>>>
>>>>>>>> je confirme cela fonctionne dans le répertoire test
>>>>>>>> Par contre le besoin final est le suivant
>>>>>>>>
>>>>>>>> J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
>>>>>>>> Répertoires
>>>>>>>>
>>>>>>>> d:/ Dossier 1.pst
>>>>>>>> Rep 1 Rep 2
>>>>>>>> Dossier 2.pst
>>>>>>>> Rep 1
>>>>>>>> Rep 2
>>>>>>>>
>>>>>>>> le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
>>>>>>>> lequel des répertoires
>>>>>>>>
>>>>>>>> j'espere qu'une solution est possible.
>>>>>>>>
>>>>>>>> "" a écrit :
>>>>>>>>
>>>>>>>>> Bonjour Daniel,
>>>>>>>>>
>>>>>>>>> Oui, qd Richard disait ne pas y arriver,
>>>>>>>>> ....j'avais pensé à cela.
>>>>>>>>> Même en session, il faudrait être autorisé via une fenêtre TSE ou
>>>>>>>>> autre
>>>>>>>>> pour être sur le serveur depuis le poste et pouvoir accèder ce
>>>>>>>>> répertoire.
>>>>>>>>> Ce que peu d'administrateurs réseau accepteraient , il me semble...
>>>>>>>>> Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier post
>>>>>>>>> ça roule.
>>>>>>>>>
>>>>>>>>> @+
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> lSteph
>>>>>>>>>
>>>>>>>>> On 12 mar, 16:08, Daniel.C wrote:
>>>>>>>>>>> le .pst ou la boite .. si elle est sur le serveur et que seul
>>>>>>>>>>> l'administrateur réseau à cet accès!?
>>>>>>>>>>
>>>>>>>>>> Je n'ai jamais travaillé avec Exchange, J'imagine que, effectivement
>>>>>>>>>> tu n'y as pas accès jusquà ce que tu ouvres une session ?
>>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>
Bonjour.
Ca fonctionne chez moi. Il y a soit une différence d'environnement,
soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
exécuter la macro suivante et poster le classeur résultat - ou
seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
l'adresse générée.
Sub test1()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Sheets.Add before:=Sheets(1)
For j = 1 To NS.Folders.Count
ligne = ligne + 1
Cells(ligne, 1) = NS.Folders(j).Name
For k = 1 To NS.Folders(j).Folders.Count
ligne = ligne + 1
Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
Set Dossier = NS.Folders(j).Folders(k)
Next k
Next j
End Sub
Daniel
> J'ai fait mon double click sur un libellé à la fin de l'execution rien ne se
> passe
> Voici les valeurs que j'ai en cours d'execution
> Si cela peux vous aider
>
> Set OlApp = CreateObject("OutLook.Application") = "outlook"
> Set fs = CreateObject("Scripting.FileSystemObject") = pas de
> valeur Set OlExp = OlApp.ActiveExplorer
> ="nothing
> Set NS = OlApp.GetNamespace("MAPI") ="MAPI
> For j = 1 To NS.Folders.Count
> = "1"
> Set f = NS.Folders(j)
> = "nom d'un répertoire de de outlook"
> For k = 1 To NS.Folders(j).Folders.Count = "2"
> Set Dossier = NS.Folders(j).Folders(k) =
> "nom d'un dossier"
> For Each i In Dossier.Items =
> ""
> If i.Subject
> = Target.Value Then
> i.display
> End If
> Next i
> Next k
> Next j
> End Sub
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca change un peu la donne :
>> 1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
>> le message (implicitement, il n'y a pas de doublons).
>> 2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
>> figure dans la liste "Fichier", "Gestion de fichiers de données".
>> Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
>> une instruction est particulière à XL2007 :
>>
>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>> As Boolean)
>> Dim OlApp As Object, NS As Object, Dossier As Object
>> Dim OlExp As Object
>> Dim i As Object, j As Integer, k As Integer
>> Cancel = True
>> Set OlApp = CreateObject("OutLook.Application")
>> Set fs = CreateObject("Scripting.FileSystemObject")
>> Set OlExp = OlApp.ActiveExplorer
>> Set NS = OlApp.GetNamespace("MAPI")
>> For j = 1 To NS.Folders.Count
>> Set f = NS.Folders(j)
>> For k = 1 To NS.Folders(j).Folders.Count
>> Set Dossier = NS.Folders(j).Folders(k)
>> For Each i In Dossier.Items
>> If i.Subject = Target.Value Then
>> i.display
>> End If
>> Next i
>> Next k
>> Next j
>> End Sub
>>
>> Daniel
>>
>>> pour répondre ta question:
>>> oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à mes
>>> messages.
>>> j'ai encore un plantage
>>> A chaque test je ferme mon fichier excel pour bien repartir sur un
>>> programme propre
>>> Je pense que de base je dois bien click colonne A
>>>
>>> Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
>>> j'ai fait les tests suivants messagerie ouverte et fermé
>>>
>>> Si je double click sur un libellé de la colonne A j'ai un plantage à la
>>> ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>> Le terme "test" me surprend est il toujours d'actualité
>>>
>>> Si je double click sur un libellé de la colonne B j'ai un plantage à la
>>> ligne NS.AddStore Target.Offset(, 1).Value
>>>
>>>
>>>
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
>>>> dans Outlook. Si ce n'est pas le cas, dis-le.
>>>> Daniel
>>>>
>>>>> je n'ai pas bien compris le:
>>>>> " En supposant que le dossier et le fichier pst soit en colonne B"
>>>>>
>>>>> je pense que cela vient de m'on explication donc je reprends:
>>>>> Sur mon disque D:
>>>>> J'ai des dossiers :(sens dossier Explorateur)
>>>>> Dossier 1
>>>>> Dossier 2
>>>>> Dans ces dosssiers j'ai des fichiers xxx.pst
>>>>> Dossier 1: fichier a. pst, fichier b. pst, etc
>>>>> Dossier 2: fichier a. pst, fichier b. pst, etc
>>>>>
>>>>> Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier outlook)
>>>>> Fichier 1.pst dossier aa, dossier bb, etc
>>>>>
>>>>> je vais donc copier sur ma feuille le libellé d'un message qui vient de:
>>>>> Dossier 1 > fichier a. pst > dossier aa message 1
>>>>> Dossier 2 > fichier b. pst > dossier bb message 2
>>>>>
>>>>> Voici ci dessous des exemples pour j'espére étre plus claire
>>>>>
>>>>> j'ai relancé votre ancien code ce matin et j'ai de nouveau une erreur???
>>>>> Le programme plant ligne " NS.AddStore Target.Offset(, 1).Value"
>>>>>
>>>>> je suis un peux perdu
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> Oups.
>>>>>> Lire :
>>>>>> En supposant que le dossier et le fichier pst soit en colonne B
>>>>>> au lieu de :
>>>>>> En supposant que le dossier du fichier pst soit en colonne B
>>>>>> Daniel
>>>>>>> En supposant que le dossier du fichier pst soit en colonne B :
>>>>>>>
>>>>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>>>>> As Boolean)
>>>>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>>>>> Dim OlExp As Object
>>>>>>> Dim i As Object
>>>>>>> Cancel = True
>>>>>>> Set OlApp = CreateObject("OutLook.Application")
>>>>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>>>>> Set OlExp = OlApp.ActiveExplorer
>>>>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>>>>> NS.AddStore Target.Offset(, 1).Value
>>>>>>> Set objFolder = NS.Folders.Item(NS.Folders.Count)
>>>>>>> Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>>>> For Each i In Dossier.Items
>>>>>>> If i.Subject = Target.Value Then
>>>>>>> i.display
>>>>>>> End If
>>>>>>> Next i
>>>>>>> NS.RemoveStore objFolder
>>>>>>> End Sub
>>>>>>>
>>>>>>> Fais bien une sauvegarde de ton fichier pst courant avant de tester.
>>>>>>> Daniel
>>>>>>>
>>>>>>>> je confirme cela fonctionne dans le répertoire test
>>>>>>>> Par contre le besoin final est le suivant
>>>>>>>>
>>>>>>>> J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
>>>>>>>> Répertoires
>>>>>>>>
>>>>>>>> d:/ Dossier 1.pst
>>>>>>>> Rep 1 Rep 2
>>>>>>>> Dossier 2.pst
>>>>>>>> Rep 1
>>>>>>>> Rep 2
>>>>>>>>
>>>>>>>> le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
>>>>>>>> lequel des répertoires
>>>>>>>>
>>>>>>>> j'espere qu'une solution est possible.
>>>>>>>>
>>>>>>>> "gmlsteph@gmail.com" a écrit :
>>>>>>>>
>>>>>>>>> Bonjour Daniel,
>>>>>>>>>
>>>>>>>>> Oui, qd Richard disait ne pas y arriver,
>>>>>>>>> ....j'avais pensé à cela.
>>>>>>>>> Même en session, il faudrait être autorisé via une fenêtre TSE ou
>>>>>>>>> autre
>>>>>>>>> pour être sur le serveur depuis le poste et pouvoir accèder ce
>>>>>>>>> répertoire.
>>>>>>>>> Ce que peu d'administrateurs réseau accepteraient , il me semble...
>>>>>>>>> Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier post
>>>>>>>>> ça roule.
>>>>>>>>>
>>>>>>>>> @+
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> lSteph
>>>>>>>>>
>>>>>>>>> On 12 mar, 16:08, Daniel.C <dcolardelle...@gmail.com> wrote:
>>>>>>>>>>> le .pst ou la boite .. si elle est sur le serveur et que seul
>>>>>>>>>>> l'administrateur réseau à cet accès!?
>>>>>>>>>>
>>>>>>>>>> Je n'ai jamais travaillé avec Exchange, J'imagine que, effectivement
>>>>>>>>>> tu n'y as pas accès jusquà ce que tu ouvres une session ?
>>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>
Bonjour.
Ca fonctionne chez moi. Il y a soit une différence d'environnement,
soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
exécuter la macro suivante et poster le classeur résultat - ou
seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
l'adresse générée.
Sub test1()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Sheets.Add before:=Sheets(1)
For j = 1 To NS.Folders.Count
ligne = ligne + 1
Cells(ligne, 1) = NS.Folders(j).Name
For k = 1 To NS.Folders(j).Folders.Count
ligne = ligne + 1
Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
Set Dossier = NS.Folders(j).Folders(k)
Next k
Next j
End Sub
Daniel
> J'ai fait mon double click sur un libellé à la fin de l'execution rien ne se
> passe
> Voici les valeurs que j'ai en cours d'execution
> Si cela peux vous aider
>
> Set OlApp = CreateObject("OutLook.Application") = "outlook"
> Set fs = CreateObject("Scripting.FileSystemObject") = pas de
> valeur Set OlExp = OlApp.ActiveExplorer
> ="nothing
> Set NS = OlApp.GetNamespace("MAPI") ="MAPI
> For j = 1 To NS.Folders.Count
> = "1"
> Set f = NS.Folders(j)
> = "nom d'un répertoire de de outlook"
> For k = 1 To NS.Folders(j).Folders.Count = "2"
> Set Dossier = NS.Folders(j).Folders(k) =
> "nom d'un dossier"
> For Each i In Dossier.Items =
> ""
> If i.Subject
> = Target.Value Then
> i.display
> End If
> Next i
> Next k
> Next j
> End Sub
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca change un peu la donne :
>> 1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
>> le message (implicitement, il n'y a pas de doublons).
>> 2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
>> figure dans la liste "Fichier", "Gestion de fichiers de données".
>> Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
>> une instruction est particulière à XL2007 :
>>
>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>> As Boolean)
>> Dim OlApp As Object, NS As Object, Dossier As Object
>> Dim OlExp As Object
>> Dim i As Object, j As Integer, k As Integer
>> Cancel = True
>> Set OlApp = CreateObject("OutLook.Application")
>> Set fs = CreateObject("Scripting.FileSystemObject")
>> Set OlExp = OlApp.ActiveExplorer
>> Set NS = OlApp.GetNamespace("MAPI")
>> For j = 1 To NS.Folders.Count
>> Set f = NS.Folders(j)
>> For k = 1 To NS.Folders(j).Folders.Count
>> Set Dossier = NS.Folders(j).Folders(k)
>> For Each i In Dossier.Items
>> If i.Subject = Target.Value Then
>> i.display
>> End If
>> Next i
>> Next k
>> Next j
>> End Sub
>>
>> Daniel
>>
>>> pour répondre ta question:
>>> oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à mes
>>> messages.
>>> j'ai encore un plantage
>>> A chaque test je ferme mon fichier excel pour bien repartir sur un
>>> programme propre
>>> Je pense que de base je dois bien click colonne A
>>>
>>> Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
>>> j'ai fait les tests suivants messagerie ouverte et fermé
>>>
>>> Si je double click sur un libellé de la colonne A j'ai un plantage à la
>>> ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>> Le terme "test" me surprend est il toujours d'actualité
>>>
>>> Si je double click sur un libellé de la colonne B j'ai un plantage à la
>>> ligne NS.AddStore Target.Offset(, 1).Value
>>>
>>>
>>>
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
>>>> dans Outlook. Si ce n'est pas le cas, dis-le.
>>>> Daniel
>>>>
>>>>> je n'ai pas bien compris le:
>>>>> " En supposant que le dossier et le fichier pst soit en colonne B"
>>>>>
>>>>> je pense que cela vient de m'on explication donc je reprends:
>>>>> Sur mon disque D:
>>>>> J'ai des dossiers :(sens dossier Explorateur)
>>>>> Dossier 1
>>>>> Dossier 2
>>>>> Dans ces dosssiers j'ai des fichiers xxx.pst
>>>>> Dossier 1: fichier a. pst, fichier b. pst, etc
>>>>> Dossier 2: fichier a. pst, fichier b. pst, etc
>>>>>
>>>>> Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier outlook)
>>>>> Fichier 1.pst dossier aa, dossier bb, etc
>>>>>
>>>>> je vais donc copier sur ma feuille le libellé d'un message qui vient de:
>>>>> Dossier 1 > fichier a. pst > dossier aa message 1
>>>>> Dossier 2 > fichier b. pst > dossier bb message 2
>>>>>
>>>>> Voici ci dessous des exemples pour j'espére étre plus claire
>>>>>
>>>>> j'ai relancé votre ancien code ce matin et j'ai de nouveau une erreur???
>>>>> Le programme plant ligne " NS.AddStore Target.Offset(, 1).Value"
>>>>>
>>>>> je suis un peux perdu
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> Oups.
>>>>>> Lire :
>>>>>> En supposant que le dossier et le fichier pst soit en colonne B
>>>>>> au lieu de :
>>>>>> En supposant que le dossier du fichier pst soit en colonne B
>>>>>> Daniel
>>>>>>> En supposant que le dossier du fichier pst soit en colonne B :
>>>>>>>
>>>>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>>>>> As Boolean)
>>>>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>>>>> Dim OlExp As Object
>>>>>>> Dim i As Object
>>>>>>> Cancel = True
>>>>>>> Set OlApp = CreateObject("OutLook.Application")
>>>>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>>>>> Set OlExp = OlApp.ActiveExplorer
>>>>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>>>>> NS.AddStore Target.Offset(, 1).Value
>>>>>>> Set objFolder = NS.Folders.Item(NS.Folders.Count)
>>>>>>> Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>>>> For Each i In Dossier.Items
>>>>>>> If i.Subject = Target.Value Then
>>>>>>> i.display
>>>>>>> End If
>>>>>>> Next i
>>>>>>> NS.RemoveStore objFolder
>>>>>>> End Sub
>>>>>>>
>>>>>>> Fais bien une sauvegarde de ton fichier pst courant avant de tester.
>>>>>>> Daniel
>>>>>>>
>>>>>>>> je confirme cela fonctionne dans le répertoire test
>>>>>>>> Par contre le besoin final est le suivant
>>>>>>>>
>>>>>>>> J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
>>>>>>>> Répertoires
>>>>>>>>
>>>>>>>> d:/ Dossier 1.pst
>>>>>>>> Rep 1 Rep 2
>>>>>>>> Dossier 2.pst
>>>>>>>> Rep 1
>>>>>>>> Rep 2
>>>>>>>>
>>>>>>>> le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
>>>>>>>> lequel des répertoires
>>>>>>>>
>>>>>>>> j'espere qu'une solution est possible.
>>>>>>>>
>>>>>>>> "" a écrit :
>>>>>>>>
>>>>>>>>> Bonjour Daniel,
>>>>>>>>>
>>>>>>>>> Oui, qd Richard disait ne pas y arriver,
>>>>>>>>> ....j'avais pensé à cela.
>>>>>>>>> Même en session, il faudrait être autorisé via une fenêtre TSE ou
>>>>>>>>> autre
>>>>>>>>> pour être sur le serveur depuis le poste et pouvoir accèder ce
>>>>>>>>> répertoire.
>>>>>>>>> Ce que peu d'administrateurs réseau accepteraient , il me semble...
>>>>>>>>> Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier post
>>>>>>>>> ça roule.
>>>>>>>>>
>>>>>>>>> @+
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> lSteph
>>>>>>>>>
>>>>>>>>> On 12 mar, 16:08, Daniel.C wrote:
>>>>>>>>>>> le .pst ou la boite .. si elle est sur le serveur et que seul
>>>>>>>>>>> l'administrateur réseau à cet accès!?
>>>>>>>>>>
>>>>>>>>>> Je n'ai jamais travaillé avec Exchange, J'imagine que, effectivement
>>>>>>>>>> tu n'y as pas accès jusquà ce que tu ouvres une session ?
>>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>
j'ai déposé le ficfier sur le site voici le lien
vhttp://www.cijoint.fr/cjlink.php?file=cj200903/cijlNNuBgP.xls
pour lancé le programme je dois lancer l'exection de le module VBA
le double click ne donne rien sur la cellule Excel
"Daniel.C" a écrit :Bonjour.
Ca fonctionne chez moi. Il y a soit une différence d'environnement,
soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
exécuter la macro suivante et poster le classeur résultat - ou
seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
l'adresse générée.
Sub test1()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Sheets.Add before:=Sheets(1)
For j = 1 To NS.Folders.Count
ligne = ligne + 1
Cells(ligne, 1) = NS.Folders(j).Name
For k = 1 To NS.Folders(j).Folders.Count
ligne = ligne + 1
Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
Set Dossier = NS.Folders(j).Folders(k)
Next k
Next j
End Sub
DanielJ'ai fait mon double click sur un libellé à la fin de l'execution rien ne
se passe
Voici les valeurs que j'ai en cours d'execution
Si cela peux vous aider
Set OlApp = CreateObject("OutLook.Application") = "outlook"
Set fs = CreateObject("Scripting.FileSystemObject") = pas de
valeur Set OlExp = OlApp.ActiveExplorer
="nothing
Set NS = OlApp.GetNamespace("MAPI") ="MAPI
For j = 1 To NS.Folders.Count
= "1"
Set f = NS.Folders(j)
= "nom d'un répertoire de de outlook"
For k = 1 To NS.Folders(j).Folders.Count =
"2" Set Dossier = NS.Folders(j).Folders(k)
= "nom d'un dossier"
For Each i In Dossier.Items
= ""
If i.Subject
= Target.Value Then
i.display
End If
Next i
Next k
Next j
End Sub
"Daniel.C" a écrit :Bonjour.
Ca change un peu la donne :
1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
le message (implicitement, il n'y a pas de doublons).
2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
figure dans la liste "Fichier", "Gestion de fichiers de données".
Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
une instruction est particulière à XL2007 :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
For j = 1 To NS.Folders.Count
Set f = NS.Folders(j)
For k = 1 To NS.Folders(j).Folders.Count
Set Dossier = NS.Folders(j).Folders(k)
For Each i In Dossier.Items
If i.Subject = Target.Value Then
i.display
End If
Next i
Next k
Next j
End Sub
Danielpour répondre ta question:
oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à
mes messages.
j'ai encore un plantage
A chaque test je ferme mon fichier excel pour bien repartir sur un
programme propre
Je pense que de base je dois bien click colonne A
Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
j'ai fait les tests suivants messagerie ouverte et fermé
Si je double click sur un libellé de la colonne A j'ai un plantage à la
ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
Le terme "test" me surprend est il toujours d'actualité
Si je double click sur un libellé de la colonne B j'ai un plantage à la
ligne NS.AddStore Target.Offset(, 1).Value
"Daniel.C" a écrit :La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
dans Outlook. Si ce n'est pas le cas, dis-le.
Danielje n'ai pas bien compris le:
" En supposant que le dossier et le fichier pst soit en colonne B"
je pense que cela vient de m'on explication donc je reprends:
Sur mon disque D:
J'ai des dossiers :(sens dossier Explorateur)
Dossier 1
Dossier 2
Dans ces dosssiers j'ai des fichiers xxx.pst
Dossier 1: fichier a. pst, fichier b. pst, etc
Dossier 2: fichier a. pst, fichier b. pst, etc
Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier
outlook) Fichier 1.pst dossier aa, dossier bb, etc
je vais donc copier sur ma feuille le libellé d'un message qui vient
de: Dossier 1 > fichier a. pst > dossier aa message 1
Dossier 2 > fichier b. pst > dossier bb message 2
Voici ci dessous des exemples pour j'espére étre plus claire
j'ai relancé votre ancien code ce matin et j'ai de nouveau une
erreur??? Le programme plant ligne " NS.AddStore Target.Offset(,
1).Value"
je suis un peux perdu
"Daniel.C" a écrit :Oups.
Lire :
En supposant que le dossier et le fichier pst soit en colonne B
au lieu de :
En supposant que le dossier du fichier pst soit en colonne B
DanielEn supposant que le dossier du fichier pst soit en colonne B :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
NS.AddStore Target.Offset(, 1).Value
Set objFolder = NS.Folders.Item(NS.Folders.Count)
Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
For Each i In Dossier.Items
If i.Subject = Target.Value Then
i.display
End If
Next i
NS.RemoveStore objFolder
End Sub
Fais bien une sauvegarde de ton fichier pst courant avant de tester.
Danielje confirme cela fonctionne dans le répertoire test
Par contre le besoin final est le suivant
J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
Répertoires
d:/ Dossier 1.pst
Rep 1 Rep 2
Dossier 2.pst
Rep 1
Rep 2
le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
lequel des répertoires
j'espere qu'une solution est possible.
"" a écrit :Bonjour Daniel,
Oui, qd Richard disait ne pas y arriver,
....j'avais pensé à cela.
Même en session, il faudrait être autorisé via une fenêtre TSE ou
autre
pour être sur le serveur depuis le poste et pouvoir accèder ce
répertoire.
Ce que peu d'administrateurs réseau accepteraient , il me semble...
Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier
post ça roule.
@+
--
lSteph
On 12 mar, 16:08, Daniel.C wrote:le .pst ou la boite .. si elle est sur le serveur et que seul
l'administrateur réseau à cet accès!?
Je n'ai jamais travaillé avec Exchange, J'imagine que,
effectivement tu n'y as pas accès jusquà ce que tu ouvres une
session ? Daniel
j'ai déposé le ficfier sur le site voici le lien
vhttp://www.cijoint.fr/cjlink.php?file=cj200903/cijlNNuBgP.xls
pour lancé le programme je dois lancer l'exection de le module VBA
le double click ne donne rien sur la cellule Excel
"Daniel.C" a écrit :
Bonjour.
Ca fonctionne chez moi. Il y a soit une différence d'environnement,
soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
exécuter la macro suivante et poster le classeur résultat - ou
seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
l'adresse générée.
Sub test1()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Sheets.Add before:=Sheets(1)
For j = 1 To NS.Folders.Count
ligne = ligne + 1
Cells(ligne, 1) = NS.Folders(j).Name
For k = 1 To NS.Folders(j).Folders.Count
ligne = ligne + 1
Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
Set Dossier = NS.Folders(j).Folders(k)
Next k
Next j
End Sub
Daniel
J'ai fait mon double click sur un libellé à la fin de l'execution rien ne
se passe
Voici les valeurs que j'ai en cours d'execution
Si cela peux vous aider
Set OlApp = CreateObject("OutLook.Application") = "outlook"
Set fs = CreateObject("Scripting.FileSystemObject") = pas de
valeur Set OlExp = OlApp.ActiveExplorer
="nothing
Set NS = OlApp.GetNamespace("MAPI") ="MAPI
For j = 1 To NS.Folders.Count
= "1"
Set f = NS.Folders(j)
= "nom d'un répertoire de de outlook"
For k = 1 To NS.Folders(j).Folders.Count =
"2" Set Dossier = NS.Folders(j).Folders(k)
= "nom d'un dossier"
For Each i In Dossier.Items
= ""
If i.Subject
= Target.Value Then
i.display
End If
Next i
Next k
Next j
End Sub
"Daniel.C" a écrit :
Bonjour.
Ca change un peu la donne :
1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
le message (implicitement, il n'y a pas de doublons).
2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
figure dans la liste "Fichier", "Gestion de fichiers de données".
Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
une instruction est particulière à XL2007 :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
For j = 1 To NS.Folders.Count
Set f = NS.Folders(j)
For k = 1 To NS.Folders(j).Folders.Count
Set Dossier = NS.Folders(j).Folders(k)
For Each i In Dossier.Items
If i.Subject = Target.Value Then
i.display
End If
Next i
Next k
Next j
End Sub
Daniel
pour répondre ta question:
oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à
mes messages.
j'ai encore un plantage
A chaque test je ferme mon fichier excel pour bien repartir sur un
programme propre
Je pense que de base je dois bien click colonne A
Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
j'ai fait les tests suivants messagerie ouverte et fermé
Si je double click sur un libellé de la colonne A j'ai un plantage à la
ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
Le terme "test" me surprend est il toujours d'actualité
Si je double click sur un libellé de la colonne B j'ai un plantage à la
ligne NS.AddStore Target.Offset(, 1).Value
"Daniel.C" a écrit :
La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
dans Outlook. Si ce n'est pas le cas, dis-le.
Daniel
je n'ai pas bien compris le:
" En supposant que le dossier et le fichier pst soit en colonne B"
je pense que cela vient de m'on explication donc je reprends:
Sur mon disque D:
J'ai des dossiers :(sens dossier Explorateur)
Dossier 1
Dossier 2
Dans ces dosssiers j'ai des fichiers xxx.pst
Dossier 1: fichier a. pst, fichier b. pst, etc
Dossier 2: fichier a. pst, fichier b. pst, etc
Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier
outlook) Fichier 1.pst dossier aa, dossier bb, etc
je vais donc copier sur ma feuille le libellé d'un message qui vient
de: Dossier 1 > fichier a. pst > dossier aa message 1
Dossier 2 > fichier b. pst > dossier bb message 2
Voici ci dessous des exemples pour j'espére étre plus claire
j'ai relancé votre ancien code ce matin et j'ai de nouveau une
erreur??? Le programme plant ligne " NS.AddStore Target.Offset(,
1).Value"
je suis un peux perdu
"Daniel.C" a écrit :
Oups.
Lire :
En supposant que le dossier et le fichier pst soit en colonne B
au lieu de :
En supposant que le dossier du fichier pst soit en colonne B
Daniel
En supposant que le dossier du fichier pst soit en colonne B :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
NS.AddStore Target.Offset(, 1).Value
Set objFolder = NS.Folders.Item(NS.Folders.Count)
Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
For Each i In Dossier.Items
If i.Subject = Target.Value Then
i.display
End If
Next i
NS.RemoveStore objFolder
End Sub
Fais bien une sauvegarde de ton fichier pst courant avant de tester.
Daniel
je confirme cela fonctionne dans le répertoire test
Par contre le besoin final est le suivant
J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
Répertoires
d:/ Dossier 1.pst
Rep 1 Rep 2
Dossier 2.pst
Rep 1
Rep 2
le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
lequel des répertoires
j'espere qu'une solution est possible.
"gmlsteph@gmail.com" a écrit :
Bonjour Daniel,
Oui, qd Richard disait ne pas y arriver,
....j'avais pensé à cela.
Même en session, il faudrait être autorisé via une fenêtre TSE ou
autre
pour être sur le serveur depuis le poste et pouvoir accèder ce
répertoire.
Ce que peu d'administrateurs réseau accepteraient , il me semble...
Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier
post ça roule.
@+
--
lSteph
On 12 mar, 16:08, Daniel.C <dcolardelle...@gmail.com> wrote:
le .pst ou la boite .. si elle est sur le serveur et que seul
l'administrateur réseau à cet accès!?
Je n'ai jamais travaillé avec Exchange, J'imagine que,
effectivement tu n'y as pas accès jusquà ce que tu ouvres une
session ? Daniel
j'ai déposé le ficfier sur le site voici le lien
vhttp://www.cijoint.fr/cjlink.php?file=cj200903/cijlNNuBgP.xls
pour lancé le programme je dois lancer l'exection de le module VBA
le double click ne donne rien sur la cellule Excel
"Daniel.C" a écrit :Bonjour.
Ca fonctionne chez moi. Il y a soit une différence d'environnement,
soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
exécuter la macro suivante et poster le classeur résultat - ou
seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
l'adresse générée.
Sub test1()
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set NS = OlApp.GetNamespace("MAPI")
Sheets.Add before:=Sheets(1)
For j = 1 To NS.Folders.Count
ligne = ligne + 1
Cells(ligne, 1) = NS.Folders(j).Name
For k = 1 To NS.Folders(j).Folders.Count
ligne = ligne + 1
Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
Set Dossier = NS.Folders(j).Folders(k)
Next k
Next j
End Sub
DanielJ'ai fait mon double click sur un libellé à la fin de l'execution rien ne
se passe
Voici les valeurs que j'ai en cours d'execution
Si cela peux vous aider
Set OlApp = CreateObject("OutLook.Application") = "outlook"
Set fs = CreateObject("Scripting.FileSystemObject") = pas de
valeur Set OlExp = OlApp.ActiveExplorer
="nothing
Set NS = OlApp.GetNamespace("MAPI") ="MAPI
For j = 1 To NS.Folders.Count
= "1"
Set f = NS.Folders(j)
= "nom d'un répertoire de de outlook"
For k = 1 To NS.Folders(j).Folders.Count =
"2" Set Dossier = NS.Folders(j).Folders(k)
= "nom d'un dossier"
For Each i In Dossier.Items
= ""
If i.Subject
= Target.Value Then
i.display
End If
Next i
Next k
Next j
End Sub
"Daniel.C" a écrit :Bonjour.
Ca change un peu la donne :
1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
le message (implicitement, il n'y a pas de doublons).
2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
figure dans la liste "Fichier", "Gestion de fichiers de données".
Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
une instruction est particulière à XL2007 :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object, j As Integer, k As Integer
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
For j = 1 To NS.Folders.Count
Set f = NS.Folders(j)
For k = 1 To NS.Folders(j).Folders.Count
Set Dossier = NS.Folders(j).Folders(k)
For Each i In Dossier.Items
If i.Subject = Target.Value Then
i.display
End If
Next i
Next k
Next j
End Sub
Danielpour répondre ta question:
oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à
mes messages.
j'ai encore un plantage
A chaque test je ferme mon fichier excel pour bien repartir sur un
programme propre
Je pense que de base je dois bien click colonne A
Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
j'ai fait les tests suivants messagerie ouverte et fermé
Si je double click sur un libellé de la colonne A j'ai un plantage à la
ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
Le terme "test" me surprend est il toujours d'actualité
Si je double click sur un libellé de la colonne B j'ai un plantage à la
ligne NS.AddStore Target.Offset(, 1).Value
"Daniel.C" a écrit :La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
dans Outlook. Si ce n'est pas le cas, dis-le.
Danielje n'ai pas bien compris le:
" En supposant que le dossier et le fichier pst soit en colonne B"
je pense que cela vient de m'on explication donc je reprends:
Sur mon disque D:
J'ai des dossiers :(sens dossier Explorateur)
Dossier 1
Dossier 2
Dans ces dosssiers j'ai des fichiers xxx.pst
Dossier 1: fichier a. pst, fichier b. pst, etc
Dossier 2: fichier a. pst, fichier b. pst, etc
Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier
outlook) Fichier 1.pst dossier aa, dossier bb, etc
je vais donc copier sur ma feuille le libellé d'un message qui vient
de: Dossier 1 > fichier a. pst > dossier aa message 1
Dossier 2 > fichier b. pst > dossier bb message 2
Voici ci dessous des exemples pour j'espére étre plus claire
j'ai relancé votre ancien code ce matin et j'ai de nouveau une
erreur??? Le programme plant ligne " NS.AddStore Target.Offset(,
1).Value"
je suis un peux perdu
"Daniel.C" a écrit :Oups.
Lire :
En supposant que le dossier et le fichier pst soit en colonne B
au lieu de :
En supposant que le dossier du fichier pst soit en colonne B
DanielEn supposant que le dossier du fichier pst soit en colonne B :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Dim OlApp As Object, NS As Object, Dossier As Object
Dim OlExp As Object
Dim i As Object
Cancel = True
Set OlApp = CreateObject("OutLook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set OlExp = OlApp.ActiveExplorer
Set NS = OlApp.GetNamespace("MAPI")
NS.AddStore Target.Offset(, 1).Value
Set objFolder = NS.Folders.Item(NS.Folders.Count)
Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
For Each i In Dossier.Items
If i.Subject = Target.Value Then
i.display
End If
Next i
NS.RemoveStore objFolder
End Sub
Fais bien une sauvegarde de ton fichier pst courant avant de tester.
Danielje confirme cela fonctionne dans le répertoire test
Par contre le besoin final est le suivant
J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
Répertoires
d:/ Dossier 1.pst
Rep 1 Rep 2
Dossier 2.pst
Rep 1
Rep 2
le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
lequel des répertoires
j'espere qu'une solution est possible.
"" a écrit :Bonjour Daniel,
Oui, qd Richard disait ne pas y arriver,
....j'avais pensé à cela.
Même en session, il faudrait être autorisé via une fenêtre TSE ou
autre
pour être sur le serveur depuis le poste et pouvoir accèder ce
répertoire.
Ce que peu d'administrateurs réseau accepteraient , il me semble...
Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier
post ça roule.
@+
--
lSteph
On 12 mar, 16:08, Daniel.C wrote:le .pst ou la boite .. si elle est sur le serveur et que seul
l'administrateur réseau à cet accès!?
Je n'ai jamais travaillé avec Exchange, J'imagine que,
effectivement tu n'y as pas accès jusquà ce que tu ouvres une
session ? Daniel
J'ai modifié ton classeur. Mets le titre d'un message en A1 et
double-clique dessus. Si tu as beaucoup de messages, la macro va être
assez longue à répondre à afficher le mail. Attend l'affichage.
http://www.cijoint.fr/cjlink.php?file=cj200903/cijLRh1u92.xls
Daniel
> j'ai déposé le ficfier sur le site voici le lien
> vhttp://www.cijoint.fr/cjlink.php?file=cj200903/cijlNNuBgP.xls
>
> pour lancé le programme je dois lancer l'exection de le module VBA
> le double click ne donne rien sur la cellule Excel
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca fonctionne chez moi. Il y a soit une différence d'environnement,
>> soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
>> exécuter la macro suivante et poster le classeur résultat - ou
>> seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
>> l'adresse générée.
>>
>> Sub test1()
>> Dim OlApp As Object, NS As Object, Dossier As Object
>> Dim OlExp As Object
>> Dim i As Object, j As Integer, k As Integer
>> Cancel = True
>> Set OlApp = CreateObject("OutLook.Application")
>> Set NS = OlApp.GetNamespace("MAPI")
>> Sheets.Add before:=Sheets(1)
>> For j = 1 To NS.Folders.Count
>> ligne = ligne + 1
>> Cells(ligne, 1) = NS.Folders(j).Name
>> For k = 1 To NS.Folders(j).Folders.Count
>> ligne = ligne + 1
>> Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
>> Set Dossier = NS.Folders(j).Folders(k)
>> Next k
>> Next j
>> End Sub
>>
>> Daniel
>>
>>> J'ai fait mon double click sur un libellé à la fin de l'execution rien ne
>>> se passe
>>> Voici les valeurs que j'ai en cours d'execution
>>> Si cela peux vous aider
>>>
>>> Set OlApp = CreateObject("OutLook.Application") = "outlook"
>>> Set fs = CreateObject("Scripting.FileSystemObject") = pas de
>>> valeur Set OlExp = OlApp.ActiveExplorer
>>> ="nothing
>>> Set NS = OlApp.GetNamespace("MAPI") ="MAPI
>>> For j = 1 To NS.Folders.Count
>>> = "1"
>>> Set f = NS.Folders(j)
>>> = "nom d'un répertoire de de outlook"
>>> For k = 1 To NS.Folders(j).Folders.Count =
>>> "2" Set Dossier = NS.Folders(j).Folders(k)
>>> = "nom d'un dossier"
>>> For Each i In Dossier.Items
>>> = ""
>>> If i.Subject
>>> = Target.Value Then
>>> i.display
>>> End If
>>> Next i
>>> Next k
>>> Next j
>>> End Sub
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> Bonjour.
>>>> Ca change un peu la donne :
>>>> 1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
>>>> le message (implicitement, il n'y a pas de doublons).
>>>> 2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
>>>> figure dans la liste "Fichier", "Gestion de fichiers de données".
>>>> Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
>>>> une instruction est particulière à XL2007 :
>>>>
>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>> As Boolean)
>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>> Dim OlExp As Object
>>>> Dim i As Object, j As Integer, k As Integer
>>>> Cancel = True
>>>> Set OlApp = CreateObject("OutLook.Application")
>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>> Set OlExp = OlApp.ActiveExplorer
>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>> For j = 1 To NS.Folders.Count
>>>> Set f = NS.Folders(j)
>>>> For k = 1 To NS.Folders(j).Folders.Count
>>>> Set Dossier = NS.Folders(j).Folders(k)
>>>> For Each i In Dossier.Items
>>>> If i.Subject = Target.Value Then
>>>> i.display
>>>> End If
>>>> Next i
>>>> Next k
>>>> Next j
>>>> End Sub
>>>>
>>>> Daniel
>>>>
>>>>> pour répondre ta question:
>>>>> oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à
>>>>> mes messages.
>>>>> j'ai encore un plantage
>>>>> A chaque test je ferme mon fichier excel pour bien repartir sur un
>>>>> programme propre
>>>>> Je pense que de base je dois bien click colonne A
>>>>>
>>>>> Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
>>>>> j'ai fait les tests suivants messagerie ouverte et fermé
>>>>>
>>>>> Si je double click sur un libellé de la colonne A j'ai un plantage à la
>>>>> ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>> Le terme "test" me surprend est il toujours d'actualité
>>>>>
>>>>> Si je double click sur un libellé de la colonne B j'ai un plantage à la
>>>>> ligne NS.AddStore Target.Offset(, 1).Value
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
>>>>>> dans Outlook. Si ce n'est pas le cas, dis-le.
>>>>>> Daniel
>>>>>>
>>>>>>> je n'ai pas bien compris le:
>>>>>>> " En supposant que le dossier et le fichier pst soit en colonne B"
>>>>>>>
>>>>>>> je pense que cela vient de m'on explication donc je reprends:
>>>>>>> Sur mon disque D:
>>>>>>> J'ai des dossiers :(sens dossier Explorateur)
>>>>>>> Dossier 1
>>>>>>> Dossier 2
>>>>>>> Dans ces dosssiers j'ai des fichiers xxx.pst
>>>>>>> Dossier 1: fichier a. pst, fichier b. pst, etc
>>>>>>> Dossier 2: fichier a. pst, fichier b. pst, etc
>>>>>>>
>>>>>>> Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier
>>>>>>> outlook) Fichier 1.pst dossier aa, dossier bb, etc
>>>>>>>
>>>>>>> je vais donc copier sur ma feuille le libellé d'un message qui vient
>>>>>>> de: Dossier 1 > fichier a. pst > dossier aa message 1
>>>>>>> Dossier 2 > fichier b. pst > dossier bb message 2
>>>>>>>
>>>>>>> Voici ci dessous des exemples pour j'espére étre plus claire
>>>>>>>
>>>>>>> j'ai relancé votre ancien code ce matin et j'ai de nouveau une
>>>>>>> erreur??? Le programme plant ligne " NS.AddStore Target.Offset(,
>>>>>>> 1).Value"
>>>>>>>
>>>>>>> je suis un peux perdu
>>>>>>>
>>>>>>> "Daniel.C" a écrit :
>>>>>>>
>>>>>>>> Oups.
>>>>>>>> Lire :
>>>>>>>> En supposant que le dossier et le fichier pst soit en colonne B
>>>>>>>> au lieu de :
>>>>>>>> En supposant que le dossier du fichier pst soit en colonne B
>>>>>>>> Daniel
>>>>>>>>> En supposant que le dossier du fichier pst soit en colonne B :
>>>>>>>>>
>>>>>>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>>>>>>> As Boolean)
>>>>>>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>>>>>>> Dim OlExp As Object
>>>>>>>>> Dim i As Object
>>>>>>>>> Cancel = True
>>>>>>>>> Set OlApp = CreateObject("OutLook.Application")
>>>>>>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>>>>>>> Set OlExp = OlApp.ActiveExplorer
>>>>>>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>>>>>>> NS.AddStore Target.Offset(, 1).Value
>>>>>>>>> Set objFolder = NS.Folders.Item(NS.Folders.Count)
>>>>>>>>> Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>>>>>> For Each i In Dossier.Items
>>>>>>>>> If i.Subject = Target.Value Then
>>>>>>>>> i.display
>>>>>>>>> End If
>>>>>>>>> Next i
>>>>>>>>> NS.RemoveStore objFolder
>>>>>>>>> End Sub
>>>>>>>>>
>>>>>>>>> Fais bien une sauvegarde de ton fichier pst courant avant de tester.
>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>>>>> je confirme cela fonctionne dans le répertoire test
>>>>>>>>>> Par contre le besoin final est le suivant
>>>>>>>>>>
>>>>>>>>>> J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
>>>>>>>>>> Répertoires
>>>>>>>>>>
>>>>>>>>>> d:/ Dossier 1.pst
>>>>>>>>>> Rep 1 Rep 2
>>>>>>>>>> Dossier 2.pst
>>>>>>>>>> Rep 1
>>>>>>>>>> Rep 2
>>>>>>>>>>
>>>>>>>>>> le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
>>>>>>>>>> lequel des répertoires
>>>>>>>>>>
>>>>>>>>>> j'espere qu'une solution est possible.
>>>>>>>>>>
>>>>>>>>>> "" a écrit :
>>>>>>>>>>
>>>>>>>>>>> Bonjour Daniel,
>>>>>>>>>>>
>>>>>>>>>>> Oui, qd Richard disait ne pas y arriver,
>>>>>>>>>>> ....j'avais pensé à cela.
>>>>>>>>>>> Même en session, il faudrait être autorisé via une fenêtre TSE ou
>>>>>>>>>>> autre
>>>>>>>>>>> pour être sur le serveur depuis le poste et pouvoir accèder ce
>>>>>>>>>>> répertoire.
>>>>>>>>>>> Ce que peu d'administrateurs réseau accepteraient , il me semble...
>>>>>>>>>>> Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier
>>>>>>>>>>> post ça roule.
>>>>>>>>>>>
>>>>>>>>>>> @+
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> lSteph
>>>>>>>>>>>
>>>>>>>>>>> On 12 mar, 16:08, Daniel.C wrote:
>>>>>>>>>>>>> le .pst ou la boite .. si elle est sur le serveur et que seul
>>>>>>>>>>>>> l'administrateur réseau à cet accès!?
>>>>>>>>>>>>
>>>>>>>>>>>> Je n'ai jamais travaillé avec Exchange, J'imagine que,
>>>>>>>>>>>> effectivement tu n'y as pas accès jusquà ce que tu ouvres une
>>>>>>>>>>>> session ? Daniel
>>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>
J'ai modifié ton classeur. Mets le titre d'un message en A1 et
double-clique dessus. Si tu as beaucoup de messages, la macro va être
assez longue à répondre à afficher le mail. Attend l'affichage.
http://www.cijoint.fr/cjlink.php?file=cj200903/cijLRh1u92.xls
Daniel
> j'ai déposé le ficfier sur le site voici le lien
> vhttp://www.cijoint.fr/cjlink.php?file=cj200903/cijlNNuBgP.xls
>
> pour lancé le programme je dois lancer l'exection de le module VBA
> le double click ne donne rien sur la cellule Excel
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca fonctionne chez moi. Il y a soit une différence d'environnement,
>> soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
>> exécuter la macro suivante et poster le classeur résultat - ou
>> seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
>> l'adresse générée.
>>
>> Sub test1()
>> Dim OlApp As Object, NS As Object, Dossier As Object
>> Dim OlExp As Object
>> Dim i As Object, j As Integer, k As Integer
>> Cancel = True
>> Set OlApp = CreateObject("OutLook.Application")
>> Set NS = OlApp.GetNamespace("MAPI")
>> Sheets.Add before:=Sheets(1)
>> For j = 1 To NS.Folders.Count
>> ligne = ligne + 1
>> Cells(ligne, 1) = NS.Folders(j).Name
>> For k = 1 To NS.Folders(j).Folders.Count
>> ligne = ligne + 1
>> Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
>> Set Dossier = NS.Folders(j).Folders(k)
>> Next k
>> Next j
>> End Sub
>>
>> Daniel
>>
>>> J'ai fait mon double click sur un libellé à la fin de l'execution rien ne
>>> se passe
>>> Voici les valeurs que j'ai en cours d'execution
>>> Si cela peux vous aider
>>>
>>> Set OlApp = CreateObject("OutLook.Application") = "outlook"
>>> Set fs = CreateObject("Scripting.FileSystemObject") = pas de
>>> valeur Set OlExp = OlApp.ActiveExplorer
>>> ="nothing
>>> Set NS = OlApp.GetNamespace("MAPI") ="MAPI
>>> For j = 1 To NS.Folders.Count
>>> = "1"
>>> Set f = NS.Folders(j)
>>> = "nom d'un répertoire de de outlook"
>>> For k = 1 To NS.Folders(j).Folders.Count =
>>> "2" Set Dossier = NS.Folders(j).Folders(k)
>>> = "nom d'un dossier"
>>> For Each i In Dossier.Items
>>> = ""
>>> If i.Subject
>>> = Target.Value Then
>>> i.display
>>> End If
>>> Next i
>>> Next k
>>> Next j
>>> End Sub
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> Bonjour.
>>>> Ca change un peu la donne :
>>>> 1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
>>>> le message (implicitement, il n'y a pas de doublons).
>>>> 2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
>>>> figure dans la liste "Fichier", "Gestion de fichiers de données".
>>>> Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
>>>> une instruction est particulière à XL2007 :
>>>>
>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>> As Boolean)
>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>> Dim OlExp As Object
>>>> Dim i As Object, j As Integer, k As Integer
>>>> Cancel = True
>>>> Set OlApp = CreateObject("OutLook.Application")
>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>> Set OlExp = OlApp.ActiveExplorer
>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>> For j = 1 To NS.Folders.Count
>>>> Set f = NS.Folders(j)
>>>> For k = 1 To NS.Folders(j).Folders.Count
>>>> Set Dossier = NS.Folders(j).Folders(k)
>>>> For Each i In Dossier.Items
>>>> If i.Subject = Target.Value Then
>>>> i.display
>>>> End If
>>>> Next i
>>>> Next k
>>>> Next j
>>>> End Sub
>>>>
>>>> Daniel
>>>>
>>>>> pour répondre ta question:
>>>>> oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à
>>>>> mes messages.
>>>>> j'ai encore un plantage
>>>>> A chaque test je ferme mon fichier excel pour bien repartir sur un
>>>>> programme propre
>>>>> Je pense que de base je dois bien click colonne A
>>>>>
>>>>> Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
>>>>> j'ai fait les tests suivants messagerie ouverte et fermé
>>>>>
>>>>> Si je double click sur un libellé de la colonne A j'ai un plantage à la
>>>>> ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>> Le terme "test" me surprend est il toujours d'actualité
>>>>>
>>>>> Si je double click sur un libellé de la colonne B j'ai un plantage à la
>>>>> ligne NS.AddStore Target.Offset(, 1).Value
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
>>>>>> dans Outlook. Si ce n'est pas le cas, dis-le.
>>>>>> Daniel
>>>>>>
>>>>>>> je n'ai pas bien compris le:
>>>>>>> " En supposant que le dossier et le fichier pst soit en colonne B"
>>>>>>>
>>>>>>> je pense que cela vient de m'on explication donc je reprends:
>>>>>>> Sur mon disque D:
>>>>>>> J'ai des dossiers :(sens dossier Explorateur)
>>>>>>> Dossier 1
>>>>>>> Dossier 2
>>>>>>> Dans ces dosssiers j'ai des fichiers xxx.pst
>>>>>>> Dossier 1: fichier a. pst, fichier b. pst, etc
>>>>>>> Dossier 2: fichier a. pst, fichier b. pst, etc
>>>>>>>
>>>>>>> Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier
>>>>>>> outlook) Fichier 1.pst dossier aa, dossier bb, etc
>>>>>>>
>>>>>>> je vais donc copier sur ma feuille le libellé d'un message qui vient
>>>>>>> de: Dossier 1 > fichier a. pst > dossier aa message 1
>>>>>>> Dossier 2 > fichier b. pst > dossier bb message 2
>>>>>>>
>>>>>>> Voici ci dessous des exemples pour j'espére étre plus claire
>>>>>>>
>>>>>>> j'ai relancé votre ancien code ce matin et j'ai de nouveau une
>>>>>>> erreur??? Le programme plant ligne " NS.AddStore Target.Offset(,
>>>>>>> 1).Value"
>>>>>>>
>>>>>>> je suis un peux perdu
>>>>>>>
>>>>>>> "Daniel.C" a écrit :
>>>>>>>
>>>>>>>> Oups.
>>>>>>>> Lire :
>>>>>>>> En supposant que le dossier et le fichier pst soit en colonne B
>>>>>>>> au lieu de :
>>>>>>>> En supposant que le dossier du fichier pst soit en colonne B
>>>>>>>> Daniel
>>>>>>>>> En supposant que le dossier du fichier pst soit en colonne B :
>>>>>>>>>
>>>>>>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>>>>>>> As Boolean)
>>>>>>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>>>>>>> Dim OlExp As Object
>>>>>>>>> Dim i As Object
>>>>>>>>> Cancel = True
>>>>>>>>> Set OlApp = CreateObject("OutLook.Application")
>>>>>>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>>>>>>> Set OlExp = OlApp.ActiveExplorer
>>>>>>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>>>>>>> NS.AddStore Target.Offset(, 1).Value
>>>>>>>>> Set objFolder = NS.Folders.Item(NS.Folders.Count)
>>>>>>>>> Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>>>>>> For Each i In Dossier.Items
>>>>>>>>> If i.Subject = Target.Value Then
>>>>>>>>> i.display
>>>>>>>>> End If
>>>>>>>>> Next i
>>>>>>>>> NS.RemoveStore objFolder
>>>>>>>>> End Sub
>>>>>>>>>
>>>>>>>>> Fais bien une sauvegarde de ton fichier pst courant avant de tester.
>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>>>>> je confirme cela fonctionne dans le répertoire test
>>>>>>>>>> Par contre le besoin final est le suivant
>>>>>>>>>>
>>>>>>>>>> J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
>>>>>>>>>> Répertoires
>>>>>>>>>>
>>>>>>>>>> d:/ Dossier 1.pst
>>>>>>>>>> Rep 1 Rep 2
>>>>>>>>>> Dossier 2.pst
>>>>>>>>>> Rep 1
>>>>>>>>>> Rep 2
>>>>>>>>>>
>>>>>>>>>> le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
>>>>>>>>>> lequel des répertoires
>>>>>>>>>>
>>>>>>>>>> j'espere qu'une solution est possible.
>>>>>>>>>>
>>>>>>>>>> "gmlsteph@gmail.com" a écrit :
>>>>>>>>>>
>>>>>>>>>>> Bonjour Daniel,
>>>>>>>>>>>
>>>>>>>>>>> Oui, qd Richard disait ne pas y arriver,
>>>>>>>>>>> ....j'avais pensé à cela.
>>>>>>>>>>> Même en session, il faudrait être autorisé via une fenêtre TSE ou
>>>>>>>>>>> autre
>>>>>>>>>>> pour être sur le serveur depuis le poste et pouvoir accèder ce
>>>>>>>>>>> répertoire.
>>>>>>>>>>> Ce que peu d'administrateurs réseau accepteraient , il me semble...
>>>>>>>>>>> Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier
>>>>>>>>>>> post ça roule.
>>>>>>>>>>>
>>>>>>>>>>> @+
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> lSteph
>>>>>>>>>>>
>>>>>>>>>>> On 12 mar, 16:08, Daniel.C <dcolardelle...@gmail.com> wrote:
>>>>>>>>>>>>> le .pst ou la boite .. si elle est sur le serveur et que seul
>>>>>>>>>>>>> l'administrateur réseau à cet accès!?
>>>>>>>>>>>>
>>>>>>>>>>>> Je n'ai jamais travaillé avec Exchange, J'imagine que,
>>>>>>>>>>>> effectivement tu n'y as pas accès jusquà ce que tu ouvres une
>>>>>>>>>>>> session ? Daniel
>>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>
J'ai modifié ton classeur. Mets le titre d'un message en A1 et
double-clique dessus. Si tu as beaucoup de messages, la macro va être
assez longue à répondre à afficher le mail. Attend l'affichage.
http://www.cijoint.fr/cjlink.php?file=cj200903/cijLRh1u92.xls
Daniel
> j'ai déposé le ficfier sur le site voici le lien
> vhttp://www.cijoint.fr/cjlink.php?file=cj200903/cijlNNuBgP.xls
>
> pour lancé le programme je dois lancer l'exection de le module VBA
> le double click ne donne rien sur la cellule Excel
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca fonctionne chez moi. Il y a soit une différence d'environnement,
>> soit un dysfonctionnement lié au fait que tu utilises XL2003. Peux-tu
>> exécuter la macro suivante et poster le classeur résultat - ou
>> seulement la première feuille sur www.cijoint.fr ? Poste ensuite ici
>> l'adresse générée.
>>
>> Sub test1()
>> Dim OlApp As Object, NS As Object, Dossier As Object
>> Dim OlExp As Object
>> Dim i As Object, j As Integer, k As Integer
>> Cancel = True
>> Set OlApp = CreateObject("OutLook.Application")
>> Set NS = OlApp.GetNamespace("MAPI")
>> Sheets.Add before:=Sheets(1)
>> For j = 1 To NS.Folders.Count
>> ligne = ligne + 1
>> Cells(ligne, 1) = NS.Folders(j).Name
>> For k = 1 To NS.Folders(j).Folders.Count
>> ligne = ligne + 1
>> Cells(ligne, 2) = NS.Folders(j).Folders(k).Name
>> Set Dossier = NS.Folders(j).Folders(k)
>> Next k
>> Next j
>> End Sub
>>
>> Daniel
>>
>>> J'ai fait mon double click sur un libellé à la fin de l'execution rien ne
>>> se passe
>>> Voici les valeurs que j'ai en cours d'execution
>>> Si cela peux vous aider
>>>
>>> Set OlApp = CreateObject("OutLook.Application") = "outlook"
>>> Set fs = CreateObject("Scripting.FileSystemObject") = pas de
>>> valeur Set OlExp = OlApp.ActiveExplorer
>>> ="nothing
>>> Set NS = OlApp.GetNamespace("MAPI") ="MAPI
>>> For j = 1 To NS.Folders.Count
>>> = "1"
>>> Set f = NS.Folders(j)
>>> = "nom d'un répertoire de de outlook"
>>> For k = 1 To NS.Folders(j).Folders.Count =
>>> "2" Set Dossier = NS.Folders(j).Folders(k)
>>> = "nom d'un dossier"
>>> For Each i In Dossier.Items
>>> = ""
>>> If i.Subject
>>> = Target.Value Then
>>> i.display
>>> End If
>>> Next i
>>> Next k
>>> Next j
>>> End Sub
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> Bonjour.
>>>> Ca change un peu la donne :
>>>> 1. on ne connait ni le fichier pst, ni le dossier dans lequel se trouve
>>>> le message (implicitement, il n'y a pas de doublons).
>>>> 2. le fichier pst est déjà ouvert dans Outlook (C'est à dire qu'il
>>>> figure dans la liste "Fichier", "Gestion de fichiers de données".
>>>> Dans cette cofiguration, le code suivant doit faire l'affaire, sauf si
>>>> une instruction est particulière à XL2007 :
>>>>
>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>> As Boolean)
>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>> Dim OlExp As Object
>>>> Dim i As Object, j As Integer, k As Integer
>>>> Cancel = True
>>>> Set OlApp = CreateObject("OutLook.Application")
>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>> Set OlExp = OlApp.ActiveExplorer
>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>> For j = 1 To NS.Folders.Count
>>>> Set f = NS.Folders(j)
>>>> For k = 1 To NS.Folders(j).Folders.Count
>>>> Set Dossier = NS.Folders(j).Folders(k)
>>>> For Each i In Dossier.Items
>>>> If i.Subject = Target.Value Then
>>>> i.display
>>>> End If
>>>> Next i
>>>> Next k
>>>> Next j
>>>> End Sub
>>>>
>>>> Daniel
>>>>
>>>>> pour répondre ta question:
>>>>> oui ma messagerie est ouverte j'ai donc accé à mes répertoires et à
>>>>> mes messages.
>>>>> j'ai encore un plantage
>>>>> A chaque test je ferme mon fichier excel pour bien repartir sur un
>>>>> programme propre
>>>>> Je pense que de base je dois bien click colonne A
>>>>>
>>>>> Que la messagerie soit ouverte ou fermé j'ai les résultats suivants
>>>>> j'ai fait les tests suivants messagerie ouverte et fermé
>>>>>
>>>>> Si je double click sur un libellé de la colonne A j'ai un plantage à la
>>>>> ligne Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>> Le terme "test" me surprend est il toujours d'actualité
>>>>>
>>>>> Si je double click sur un libellé de la colonne B j'ai un plantage à la
>>>>> ligne NS.AddStore Target.Offset(, 1).Value
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> La macro fournie pré-suppose que les fichiers pst ne sont pas chargés
>>>>>> dans Outlook. Si ce n'est pas le cas, dis-le.
>>>>>> Daniel
>>>>>>
>>>>>>> je n'ai pas bien compris le:
>>>>>>> " En supposant que le dossier et le fichier pst soit en colonne B"
>>>>>>>
>>>>>>> je pense que cela vient de m'on explication donc je reprends:
>>>>>>> Sur mon disque D:
>>>>>>> J'ai des dossiers :(sens dossier Explorateur)
>>>>>>> Dossier 1
>>>>>>> Dossier 2
>>>>>>> Dans ces dosssiers j'ai des fichiers xxx.pst
>>>>>>> Dossier 1: fichier a. pst, fichier b. pst, etc
>>>>>>> Dossier 2: fichier a. pst, fichier b. pst, etc
>>>>>>>
>>>>>>> Dans ces fichiers xx. pst j'ai aussi des dossiers (sens dossier
>>>>>>> outlook) Fichier 1.pst dossier aa, dossier bb, etc
>>>>>>>
>>>>>>> je vais donc copier sur ma feuille le libellé d'un message qui vient
>>>>>>> de: Dossier 1 > fichier a. pst > dossier aa message 1
>>>>>>> Dossier 2 > fichier b. pst > dossier bb message 2
>>>>>>>
>>>>>>> Voici ci dessous des exemples pour j'espére étre plus claire
>>>>>>>
>>>>>>> j'ai relancé votre ancien code ce matin et j'ai de nouveau une
>>>>>>> erreur??? Le programme plant ligne " NS.AddStore Target.Offset(,
>>>>>>> 1).Value"
>>>>>>>
>>>>>>> je suis un peux perdu
>>>>>>>
>>>>>>> "Daniel.C" a écrit :
>>>>>>>
>>>>>>>> Oups.
>>>>>>>> Lire :
>>>>>>>> En supposant que le dossier et le fichier pst soit en colonne B
>>>>>>>> au lieu de :
>>>>>>>> En supposant que le dossier du fichier pst soit en colonne B
>>>>>>>> Daniel
>>>>>>>>> En supposant que le dossier du fichier pst soit en colonne B :
>>>>>>>>>
>>>>>>>>> Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
>>>>>>>>> As Boolean)
>>>>>>>>> Dim OlApp As Object, NS As Object, Dossier As Object
>>>>>>>>> Dim OlExp As Object
>>>>>>>>> Dim i As Object
>>>>>>>>> Cancel = True
>>>>>>>>> Set OlApp = CreateObject("OutLook.Application")
>>>>>>>>> Set fs = CreateObject("Scripting.FileSystemObject")
>>>>>>>>> Set OlExp = OlApp.ActiveExplorer
>>>>>>>>> Set NS = OlApp.GetNamespace("MAPI")
>>>>>>>>> NS.AddStore Target.Offset(, 1).Value
>>>>>>>>> Set objFolder = NS.Folders.Item(NS.Folders.Count)
>>>>>>>>> Set Dossier = NS.Folders(NS.Folders.Count).Folders("test")
>>>>>>>>> For Each i In Dossier.Items
>>>>>>>>> If i.Subject = Target.Value Then
>>>>>>>>> i.display
>>>>>>>>> End If
>>>>>>>>> Next i
>>>>>>>>> NS.RemoveStore objFolder
>>>>>>>>> End Sub
>>>>>>>>>
>>>>>>>>> Fais bien une sauvegarde de ton fichier pst courant avant de tester.
>>>>>>>>> Daniel
>>>>>>>>>
>>>>>>>>>> je confirme cela fonctionne dans le répertoire test
>>>>>>>>>> Par contre le besoin final est le suivant
>>>>>>>>>>
>>>>>>>>>> J'ai sur mon disque D plusieurs fichiers PST avec plusieurs
>>>>>>>>>> Répertoires
>>>>>>>>>>
>>>>>>>>>> d:/ Dossier 1.pst
>>>>>>>>>> Rep 1 Rep 2
>>>>>>>>>> Dossier 2.pst
>>>>>>>>>> Rep 1
>>>>>>>>>> Rep 2
>>>>>>>>>>
>>>>>>>>>> le besoin est de pouvoir ouvrir n'importe quel mail dans n'importe
>>>>>>>>>> lequel des répertoires
>>>>>>>>>>
>>>>>>>>>> j'espere qu'une solution est possible.
>>>>>>>>>>
>>>>>>>>>> "" a écrit :
>>>>>>>>>>
>>>>>>>>>>> Bonjour Daniel,
>>>>>>>>>>>
>>>>>>>>>>> Oui, qd Richard disait ne pas y arriver,
>>>>>>>>>>> ....j'avais pensé à cela.
>>>>>>>>>>> Même en session, il faudrait être autorisé via une fenêtre TSE ou
>>>>>>>>>>> autre
>>>>>>>>>>> pour être sur le serveur depuis le poste et pouvoir accèder ce
>>>>>>>>>>> répertoire.
>>>>>>>>>>> Ce que peu d'administrateurs réseau accepteraient , il me semble...
>>>>>>>>>>> Enfin puisqu'il n'est pas dans ce cas et que d'après son dernier
>>>>>>>>>>> post ça roule.
>>>>>>>>>>>
>>>>>>>>>>> @+
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> lSteph
>>>>>>>>>>>
>>>>>>>>>>> On 12 mar, 16:08, Daniel.C wrote:
>>>>>>>>>>>>> le .pst ou la boite .. si elle est sur le serveur et que seul
>>>>>>>>>>>>> l'administrateur réseau à cet accès!?
>>>>>>>>>>>>
>>>>>>>>>>>> Je n'ai jamais travaillé avec Exchange, J'imagine que,
>>>>>>>>>>>> effectivement tu n'y as pas accès jusquà ce que tu ouvres une
>>>>>>>>>>>> session ? Daniel
>>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>