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 :

Si existe, supprimer un segment TCD en VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Si existe, supprimer un segment TCD en VBA
    Bonjour

    Je souhaite créer une commande VBA qui dit :

    Si ce segment existe (nom_du_segment), le supprimer
    S'il n'existe pas, ne rien faire, passer à la commande suivante


    J'aimerai que la commande soit compatible avec excel 2010 et 2016

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 125
    Points : 9 953
    Points
    9 953
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    un proposition de fonction parmi tant d'autres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function SegmentExiste(NomSegment As String) As Boolean
    Dim Segment As SlicerCache
        On Error Resume Next
            Set Segment = ThisWorkbook.SlicerCaches(NomSegment)
        On Error GoTo 0
    SegmentExiste = Not Segment Is Nothing
    End Function
    Exemple d'appel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
        If SegmentExiste("NomDuSegment") Then
            ' Mon action
        Else
            ' S'il existe pas, on fait ça
        End If
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Merci Joe !

    J'ai omis de préciser que mon niveau de VBA est faible...

    Comment j'insère ce code entre un Sub et un End Sub ?
    De manière très basique, comme si j'avais 4 ans

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 125
    Points : 9 953
    Points
    9 953
    Billets dans le blog
    5
    Par défaut
    Tu mets la Function dans un module standard

    et ensuite je t'ai mis un exemple au sein d'un Sub / End Sub pour utiliser la fonction

    il ne reste qu'à compléter la partie ' Mon Action

    pour supprimer un segment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
    Dim LeSegment As String
        LeSegment = "NomSegment"
        If SegmentExiste(LeSegment) Then
            ThisWorkbook.SlicerCaches(LeSegment).Delete
        Else
            ' S'il existe pas, on fait ça
        End If
    End Sub

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Merci Joe,

    J'y suis arrivé avec ce second code !

    Pour info, me concernant et qui m'a posé des difficultés, le nom du segment par défaut c'est : "Segment_nomdusegment"

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

Discussions similaires

  1. [AC-2010] Existence d'un champ d'un TCD en VBA
    Par shakapouet dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/07/2012, 09h22
  2. ajouter et supprimer des données dans un tcd avec vba
    Par pscoool dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/12/2009, 18h14
  3. Supprimer un fichier texte via VBA
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/04/2008, 22h01
  4. Supprimer des données Excel sous VBA Access
    Par Sam 069 dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/10/2007, 09h55
  5. Changer le format d'un champ d'un TCD en vba
    Par patate5555 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2007, 06h49

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