XL pour MAC Supprimer les doublons en VBA

  • Initiateur de la discussion Initiateur de la discussion yoanriv
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yoanriv

XLDnaute Nouveau
Bonjour,
je souhaiterai supprimer les doublons d'une colonne en VBA. et valider la fenêtre qui s'ouvre automatiquement.
Pouvez vous m'aider ?
Merci
 
Re

Si vraiment, du VBA tu veux alors en voici
(tout le mérite revient à l'enregistreur de macros 😉)
VB:
Sub No_Dupes_Baby()
Dim x&
x = Selection.Column
Application.DisplayAlerts = False
Columns(x).RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
 
Moi j'ai ça qui s'ouvre

Sans titre.jpeg

Comment faire Ok dans la macro ?
 
Bonjour le fil

•>yoanriv
Sur Windows, cette ligne de code désactive l'affichage des alertes
Application.DisplayAlerts = False
Essaie cette macro de test pour voir si elle fonctionne ou pas sur Mac
VB:
Sub Test()
Application.DisplayAlerts = False
Sheets(1).Delete
End Sub
A tester sur un classeur vierge avec deux feuilles
Normalement cette macro supprime la feuille 1 sans que s'affiche le message d'alerte.
Est-ce le cas sur ton Mac?
Si il s'affiche, alors il faut trouver la syntaxe équivalente sous Mac.
 
Bonjour à tous 🙂,

Une autre manière de faire avec un tableau et sans message.
nota: la colonne résultat sans doublon sera triée.
VB:
Sub TEST()
   'on traite la colonne E de la feuille nommée Feuil1
   SupprDoublonColonne Sheets("Feuil1").Range("e:e")
End Sub

Sub SupprDoublonColonne(Colonne As Range)
' L'argument Colonne est un range qui est une colonne unique
Dim derlig&, nbTotLig&, i&, n&, t

   ' vérif si Colonne est bien une colonne entière
   nbTotLig = Colonne.Parent.Columns(1).Rows.Count
   If Colonne.Columns.Count > 1 Or Colonne.Rows.Count <> nbTotLig Then
      MsgBox "l'argument de cette fonction n'est pas une colonne : Echec!", vbCritical
      Exit Sub
   End If

   ' Tri et suppression des doublons
   With Colonne
      derlig = .Cells(.Rows.Count, 1).End(xlUp).Row
      If derlig = 1 Then Exit Sub
      .Resize(derlig).Sort key1:=Colonne(1, 1), order1:=xlAscending, Header:=xlNo, MatchCase:=False
      t = .Resize(derlig).Value: n = 1
      For i = 2 To derlig
         If t(i, 1) <> t(n, 1) Then n = n + 1: t(n, 1) = t(i, 1)
      Next i
      For i = n + 1 To derlig: t(i, 1) = Empty: Next
      .Resize(derlig) = t
      'MsgBox "il reste " & n & " élément(s)."
   End With
End Sub

NOTA! si la colonne comporte un en-tête, me le dire. Je modifierai la macro en conséquence...
 
Dernière édition:
Bonjour mapomme

Tu tombes bien
Si je n'abuse ton pseudo (hélas pour ma pomme) n'est pas en lien avec Steve J.
Mais peut-être ta culture binaire sait pourquoi sur un Mac, Application.DisplayAlerts semble inopérant ?

PS: Sinon tu as vu que j'ai besoin de ta lampe de poche dans le fil de chalie2015 ?

EDITION: Question du dimanche avant mon dernier devoir civique (may be?)
Pourquoi tu t'abstiens d'utiliser la fonction native d'Excel pour supprimer les doublons?
Pour le plaisir d'aller dans VBE en pyjama, les doigts plein de miettes de croissant, alors que l'odeur d'un bon café chaud inonde la pièce où ton PC ronronne?
Euh pardon, je m'égare, c'est mon imagination qui s'emballe
T'es peut-être plus branché muffin et bacon au petit déj 😉
Mais cela laisse autant de gras sur le clavier que les croissants
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
516
  • Question Question
XL 2021 Doublons
Réponses
7
Affichages
166
Réponses
2
Affichages
451
Réponses
7
Affichages
176
Réponses
1
Affichages
336
Réponses
6
Affichages
190
Réponses
40
Affichages
2 K
Réponses
17
Affichages
468
Retour