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

Macros et VBA Excel Discussion :

Boucle sur Segment [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Technicienne Informatique
    Inscrit en
    Février 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicienne Informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2015
    Messages : 33
    Par défaut Boucle sur Segment
    Bonjour,

    J'utilise actuellement une macro qui permet d'envoyer automatiquement par mail un TCD chaque mois.

    Les données du TCD sont filtrées par 2 segments, un segment qui filtre sur le mois et un autre qui filtre sur le nom de l'agent à qui correspond les données.

    L'envoie du mail se fait par une boucle sur un segment qui contient les noms des personnes. Cependant d'un mois à l'autre un agent peut ne pas avoir de données à envoyer, cependant lors de l'exécution de la macro, le nom de l'agent avec des éléments sans données, bien que masqués au niveau du segment, est utilisé pour l'envoie du mail, et donc la personne reçoit un mail sans données.

    Y-a t'il un critère ou une condition à rajouter dans mon code afin que les éléments sans données du Segment soit écartés lors de la boucle permettant l'envoie des mails.

    Merci pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Dim nom
    Dim i As Integer
    Dim j As Integer
     
    With ActiveWorkbook.SlicerCaches("Segment_Agents_de_saisie")
            .ClearManualFilter
            .ClearManualFilter
            For i = 2 To .SlicerItems.Count
                    .SlicerItems(i).Selected = False
            Next i
            For i = 1 To .SlicerItems.Count - 1
                    .SlicerItems(i).Selected = True
     
        nom = .SlicerItems(i).Name
     
     
    'CODE POUR GENERATION DE LA PICE JOINTE ET ENVOIE DU MAIL
     
            .SlicerItems(i + 1).Selected = True
            .SlicerItems(i).Selected = False
            Next i
     
            .ClearManualFilter
        End With

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 683
    Par défaut
    Bonjour,

    Regarde la priopriété HasData de ton sliceritem
    https://msdn.microsoft.com/fr-fr/vba...property-excel

  3. #3
    Membre averti
    Femme Profil pro
    Technicienne Informatique
    Inscrit en
    Février 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicienne Informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2015
    Messages : 33
    Par défaut
    Bonjour Halaster08,

    Merci pour ta réponse c'est effectivement la propriété Hasdata qui permet de gérer les éléments sans données de mon Segment.

    J'ai donc rajouter la ligne suivante en début de code et l'envoie de mail sans données ne se fait plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If .SlicerItems(i).HasData = True Then
    Merci

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

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 13h45
  2. Macro sur Excel/Boucle sur les lettres
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/11/2005, 12h56
  3. [JDBC]Boucle sur tous les éléments du ResultSet
    Par Terminator dans le forum JDBC
    Réponses: 1
    Dernier message: 22/09/2005, 20h30
  4. L'installation d'XP boucle sur elle-même
    Par pf106 dans le forum Windows XP
    Réponses: 13
    Dernier message: 20/08/2005, 15h55
  5. [MFC] Boucle sur un bouton
    Par karl3i dans le forum MFC
    Réponses: 6
    Dernier message: 17/02/2004, 12h37

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