Supprimer une ligne en fonction d'une comparaison de valeurs de colonne

  • Initiateur de la discussion Initiateur de la discussion zoomix
  • 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 !

zoomix

XLDnaute Nouveau
Bonjour à tous

Petit problème que je n'arrive pas a résoudre:

J'ai des combinsaisons de 6 chiffre avec un chiffre par colonne en A B C D E F.

en colonne G j'ai le résultat avec un &

Je souhaiterais supprimer la ligne si la valeur de la colonne G existe n'importe où en colonne H

j'ai remplis 2 valeurs en colonne H pour essai

merci de votre aide

Regarde la pièce jointe ARRANGEMENT_3.xlsm
 
Re : Supprimer une ligne en fonction d'une comparaison de valeurs de colonne

Bonjour zoomix,

Pas certain d'avoir bien compris: il s'agit de supprimer chaque ligne dans laquelle, en colonne G, figure une valeur également présente en colonne H? Si c'est l'inverse, je suppose que tu sauras adapter (si pas, dis-le nous).
Remplace le code de ton module par celui-ci:
VB:
Sub suppr()
Application.ScreenUpdating = False
With Sheets("Feuil1")
    For i = .Range("G" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Application.CountIf(.[H:H], Val(.Cells(i, 7))) Then .Cells(i, 7).EntireRow.Delete
    Next i
End With
Application.ScreenUpdating = True
End Sub

Attention au fait que, dans le cas présent les valeurs en colonne G sont de type texte, tandis qu'en colonne H elles sont numériques (ici aussi, il te faudra peut-être adapter)
 
Re : Supprimer une ligne en fonction d'une comparaison de valeurs de colonne

Bonjour zoomix,

Pas certain d'avoir bien compris: il s'agit de supprimer chaque ligne dans laquelle, en colonne G, figure une valeur également présente en colonne H? Si c'est l'inverse, je suppose que tu sauras adapter (si pas, dis-le nous).
Remplace le code de ton module par celui-ci:
VB:
Sub suppr()
Application.ScreenUpdating = False
With Sheets("Feuil1")
    For i = .Range("G" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Application.CountIf(.[H:H], Val(.Cells(i, 7))) Then .Cells(i, 7).EntireRow.Delete
    Next i
End With
Application.ScreenUpdating = True
End Sub

Attention au fait que, dans le cas présent les valeurs en colonne G sont de type texte, tandis qu'en colonne H elles sont numériques (ici aussi, il te faudra peut-être adapter)

Bonjour modeste,

C'est presque ca , j'ai testé et ca supprime la ligne mais uniquement quand la valeur H est sur la meme ligne que G
pourtant tu as bien compris le problème et je vois que dans le code il est bien noté "H:H" .

Donc il faudrait supprimer la ligne pour laquelle ca valeur en G est présente n'importe où en colonne H

Je vais essayer de trouver le problème ..mais tu as une solution

merci a tous
 
- 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
6
Affichages
208
Retour