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 :

[VBA Outlook]Next sans for


Sujet :

VBA Outlook

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut [VBA Outlook]Next sans for
    Salut,

    J'ai une erreur de compilation, comme quoi mon Next n'aurait pas de for...

    J'ai trop le nez dessus et je ne vois pas l'erreur.
    Pour moi, le next a bien un for.

    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
     
    myRecipient.Resolve
      If (myRecipient.Resolved) Then
        Set fdrContactsCommuns = objNameSpace.GetSharedDefaultFolder(myRecipient, olFolderContacts)
     
        'Vérification des deux carnets
     
        For Each fiche In fdrContactsCommuns
            i = 1
            Do
                If fdrContacts.Items.Item(i) <> fiche Then
                    fdrContacts.Items.Add (fiche)
                    i = i + 1
                    Exit Do
                End If
                i = i + 1
            While i < fdrContactsCommuns.Items.Count
        Next
      End If

  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
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Trop gros en effet

    Mais il nous manque un morceau de code, tu fais une boucle sur les éléments d'une collection, mais tu ne spécifies pas quels éléments

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For Each fiche In fdrContactsCommuns

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par Heureux-oli Voir le message
    Salut,

    Trop gros en effet

    Mais il nous manque un morceau de code, tu fais une boucle sur les éléments d'une collection, mais tu ne spécifies pas quels éléments

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For Each fiche In fdrContactsCommuns
    Même avec

    j'ai la même erreur...

    Voici la sub complète, car le problème se situe sûrement à un niveau plus large que cette boucle.

    Le but du jeu et de comparer le contenu d'un carnet d'adresses partagé avec le carnet local, et de copier les fiches du carnet partagé qui n'y sont pas.
    J'espère que je m'y prends bien.

    Soyez indulgents, j'ai pas fait de VB et de VBA depuis des lustres, et c'est comme l'allemand ou le chinois, quand on ne pratique pas on oublie vite.

    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
    Sub syncCarnets()
     
      Dim objApplication As Outlook.Application
      Dim objNameSpace As Outlook.NameSpace
      Dim fdrContacts As Outlook.MAPIFolder, fdrContactsCommuns As Outlook.MAPIFolder
      Dim fiche As ContactItem
      Dim myRecipient As Outlook.Recipient
      Dim i As Integer, j As Integer
     
      Set objApplication = Application
      Set objNameSpace = objApplication.GetNamespace("MAPI")
      Set fdrContacts = objNameSpace.GetDefaultFolder(olFolderContacts) 'Carnet Local
      Set myRecipient = objNameSpace.CreateRecipient("Carnet Commun")   'Carnet Commun
     
      myRecipient.Resolve
      If (myRecipient.Resolved) Then
        Set fdrContactsCommuns = objNameSpace.GetSharedDefaultFolder(myRecipient, olFolderContacts)
     
        'Vérification des deux carnets
     
        For Each fiche In fdrContactsCommuns
            i = 1
            Do
                If fdrContacts.Items.Item(i) <> fiche Then
                    fdrContacts.Items.Add (fiche)
                    i = i + 1
                    Exit Do
                End If
                i = i + 1
            While i < fdrContactsCommuns.Items.Count
        Next fiche
      End If
     
     
     
      Set objApplication = Nothing
      Set objNameSpace = Nothing
      Set fdrContacts = Nothing
      Set fdrContactsCommuns = Nothing
      Set myRecipient = Nothing
      Set fiche = Nothing
      Set i = Nothing
      Set j = Nothing
     
    End Sub

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Il manque un LOOP ou UNTIL QUELQUE PART dans ta boucle DO

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Il manque un LOOP ou UNTIL QUELQUE PART dans ta boucle DO
    Exact.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For Each fiche In fdrContactsCommuns
            i = 1
            Do
                If fdrContacts.Items.Item(i) <> fiche Then
                    fdrContacts.Items.Add (fiche)
                    i = i + 1
                    Exit Do
                End If
                i = i + 1
            Loop While i < fdrContactsCommuns.Items.Count
        Next fiche
    Maintenant, j'ai un erreur d'exécution 438, qui doit porter sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each fiche In fdrContactsCommuns
    apparemment.
    Mais ceci est une autre histoire, le next sansfor est résolu.

    Merci,

  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
    Points : 42 925
    Points
    42 925
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each fiche In fdrContactsCommuns
    Devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each fiche In fdrContactsCommuns.ContactItems
    La boucle For Each Next se fait sur les membres d'une collection.
    si cette collection n'est pas citée, la boucle lève une erreur.

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

Discussions similaires

  1. [VBA Word] Next sans for
    Par Dobyan08 dans le forum VBA Word
    Réponses: 6
    Dernier message: 20/10/2016, 10h57
  2. [XL-2007] Erreur next sans for, Bizarre!
    Par rvtoulon dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/10/2009, 16h19
  3. j'ai une erreur Next sans For
    Par Caps corp dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 22/08/2008, 14h10
  4. Next sans For. Et pourtant, il y est !
    Par Bubale dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/05/2008, 14h57
  5. Next sans For..alors qu'il y est !
    Par Bubale dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2008, 22h45

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