Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Suppression lignes pour mise à jour

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

2

2susy

Guest
Bonjour au forum et aux aoutiens,

je suis bloquée dans mon projet sur un point qui va sûrement sembler facile aux pros que vous êtes.

dans mes deux feuilles, j'ai des données qui peuvent être similaires mais dans le désordre.

le but est de faire une mise à jour de la feuille 2 à partir de la feuille1.
a) soit la ligne existe dans la feuille 1 et donc on la conserve dans la feuille 2
b) soit la ligne n'existe que dans la feuille 2 auquel cas il faut la supprimer où qu'elle se situe dans la feuille.

Je bloque sur le b).
ci-joint un fichier, merci pour votre aide 😉
Susy
 

Pièces jointes

Re : Suppression lignes pour mise à jour

bonjour 2susy

A tester:

Code:
Sub test()
Dim n As Integer
Dim m As Integer
Dim trouve As Boolean
For n = Sheets("Feuil2").Range("A65536").End(xlUp).Row To 2 Step -1
  For m = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
    If Sheets("Feuil2").Range("A" & n) = Sheets("Feuil1").Range("A" & m) Then
      trouve = True
      Exit For
    End If
  Next m
If Not trouve Then Sheets("Feuil2").Rows(n).Delete
trouve = False
Next n
End Sub
 
Re : Suppression lignes pour mise à jour

Re

Version a base de tableaux pour le cas ou le nombre de lignes serait très important

Code:
Sub test1()
Dim n As Integer
Dim m As Integer
Dim trouve As Boolean
tablo1 = Sheets("Feuil2").Range("A2:A" & Sheets("Feuil2").Range("A65536").End(xlUp).Row)
tablo2 = Sheets("Feuil1").Range("A2:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
For n = UBound(tablo1, 1) To LBound(tablo1, 1) Step -1
  For m = LBound(tablo2, 1) To UBound(tablo2, 1)
     If tablo1(n, 1) = tablo2(m, 1) Then
       trouve = True
       Exit For
     End If
  Next m
If Not trouve Then Sheets("Feuil2").Rows(n + 1).Delete
trouve = False
Next n
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…