Bonjour,
J'aimerais savoir comment supprimer des labels qui apparaissent deux fois. Voici mon code :
Je crée plusieurs labels, seulement il y en a plusieurs qui sont identiques, j'aimerais donc supprimer les labels similaires.
Merci d'avance
Bonjour,
J'aimerais savoir comment supprimer des labels qui apparaissent deux fois. Voici mon code :
Je crée plusieurs labels, seulement il y en a plusieurs qui sont identiques, j'aimerais donc supprimer les labels similaires.
Merci d'avance
Bonjour,
Avant toute chose, je t'invite à supprimer un des deux postes que tu as créé. Cela fait doublon, et on va finir par s'y perdre.
De plus, il est préférable d'utiliser les balises de Code plutôt qu'une capture d'écran. Cela permet de pouvoir copier coller le code en cas de besoin, et c'est plus léger qu'une image.
Pour ton besoin sinon, les labels créés sont dans la collection 'Labels'.
En parcourant cette collection avec la boule For Each, tu peux tester si le nom d'un label existe déjà, auquel cas tu le supprime.
Si tu n'es pas à l'aise avec les collections, tu pourrais tout aussi bien copier les données qui t'intéresse sur une feuille Excel temporaire (dans ton cas, j'ai l'impression qu'il s'agit d'une liste d'aéroport), puis tu supprimes les doublons (l'enregistreur de macros te diras comment faire), et tu exécute ton code sur cette nouvelle liste qui n'a pas de doublon, comme ça tu n'as pas de label en double.
Bonjour,
Je suis absolument d'accord avec les propos de mat955 que je salue au passage et d'ailleurs même si je n'ai aucun problème à manipuler par VBA les collections et dictionnaire, je ne vois pas l'intérêt d'utiliser ces méthode si ce n'est de me gargariser de les connaître.Si tu n'es pas à l'aise avec les collections, tu pourrais tout aussi bien copier les données qui t'intéresse sur une feuille Excel temporaire (dans ton cas, j'ai l'impression qu'il s'agit d'une liste d'aéroport), puis tu supprimes les doublons (l'enregistreur de macros te diras comment faire), et tu exécute ton code sur cette nouvelle liste qui n'a pas de doublon, comme ça tu n'as pas de label en double.
Plus on se rapproche des fonctionnalités natives d'excel qui ont toutes les méthodes équivalentes en VBA plus on se facilite la vie et donc outre la fonctionnalité suppression des doublons qui existe depuis la version 2007, il existe également le filtre avancé d'excel qui permet d'exporter sans les doublons.
C'est cette méthode que je privilégie et que j'utilise dans l'exemple ci-dessous.
Voici un exemple de code qui exporte la colonne (étiquette From) d'un tableau structuré deux colonnes à droite de celui-ci sans les doublons
Il suffit maintenant de placer à partir de la ligne 16 le code permettant de récupérer, de traiter ces doublons
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 Sub T() ' Dim Déclaration Dim olist As ListObject Dim rngTarget As Range Dim rngSource As Range ' Assignation Set olist = shtArrival.ListObjects(1) ' Tableau structuré de la feuille (CodeName shtArrival) Set rngSource = olist.Range With rngSource Set rngTarget = .Offset(ColumnOffset:=.Columns.Count + 1).Resize(1, 1) End With rngTarget.Value = "From" ' Exportation de la colonne From sans les doublons rngSource.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=rngTarget, Unique:=True ' Code pour des traitements divers ' ....... ' ....... ' Fin de programme rngTarget.CurrentRegion.Clear ' Efface les données exportées Set rngTarget = Nothing: Set rngSource = Nothing End Sub
Illustration La zone exportée est entourée en rouge et pour les besoins de cette illustration, j'ai mis en commentaire la ligne 19 du code qui efface la zone exportée après traitement.
A lire si des éléments utilisés dans l'exemple ne sont pas connus
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Partager