Eliminer de façon automatique des lignes dans tableau sous condition VBA

marcopm

XLDnaute Nouveau
Bonjour,

J'ai un tableau avec dans la colonne A j'ai un numéro qui s'incrémente mais j'ai plusieurs fois le même numéro sur plusieurs lignes et je voudrais ne conserver que la première de chaque (ex: 10 lignes 1 soit ne conserver que la première).
Je pense que vía un VBA on peut le faire du genre regarde la colonne An et si An+1=An alors effacer ou un truc comme ça mais je n'arrive pas à voir comment élaborer le code.

D'avance merci
 

Pièces jointes

  • exemple.xlsx
    274 KB · Affichages: 103
  • exemple.xlsx
    274 KB · Affichages: 100
  • exemple.xlsx
    274 KB · Affichages: 99

tototiti2008

XLDnaute Barbatruc
Re : Eliminer de façon automatique des lignes dans tableau sous condition VBA

Bonjour marcopm,

sinon, on peut le faire en formule
Bien trier la liste sur la colonne A
en K2

Code:
=SI(A2<>A1;A2;"")

à recopier vers le bas

Puis copier/collage spécial - valeurs de la colonne K sur la colonne A
 

marcopm

XLDnaute Nouveau
Re : Eliminer de façon automatique des lignes dans tableau sous condition VBA

Désolé mais je ne comprend pas.
De plis, le tableau est déjà trié. La variable dans la colonne A est la seule qui doit être comparée avec la ligne suivante pour la suppression ou non de la ligne.
 

Nairolf

XLDnaute Accro
Re : Eliminer de façon automatique des lignes dans tableau sous condition VBA

En fait, tout dépend ce que tu veux, si c'est une action ponctuelle ou occasionnelle, je peux te proposer de mettre dans chaque cellule de la colonne K la formule, exemple K2=A2=A1. De filtrer la colonne K sur les valeurs VRAI et de supprimer les lignes concernées. Et quand tu enlèves ton filtre, ta sélection est faite.

Edit: Salut tototiti2008, je suis pas sûr que ta solution fonctionne pour ne récupérer que les lignes non répétées.
 

tototiti2008

XLDnaute Barbatruc
Re : Eliminer de façon automatique des lignes dans tableau sous condition VBA

Re,
Bonjour Florian,

Salut tototiti2008, je suis pas sûr que ta solution fonctionne pour ne récupérer que les lignes non répétées.
Peux-tu m'expliquer dans quel cas pour que je me couche moins bête ?

La macro là devrait s'appliquer sur la feuille active

Code:
Sub NettoieColonneA()
Dim i As Long
    For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Range("A" & i).Value = Range("A" & i - 1).Value Then Range("A" & i).ClearContents
    Next i
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Eliminer de façon automatique des lignes dans tableau sous condition VBA

Re,

Merci, je me coucherais moins bête ;)

Code:
Sub SupprColonneADouble()
Dim i As Long
    For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Range("A" & i).Value = Range("A" & i - 1).Value Then Range("A" & i).entirerow.delete
    Next i
End Sub

Edit : Merci Florian pour la précision, je n'avais pas compris qu'il s'agissait de suppression de lignes :)
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU