Supression de lignes dans une feuille excel en fonction du numéro de la ligne

Moebius95

XLDnaute Nouveau
Bonjour :)

Pour poser la problématique, j'ai aujourd'hui un fichier excel 2003 (Fichier1) qui contient plus de 65000 lignes et un traitement par un de nos fournisseurs qui me donne une liste de plus de 8000 lignes en erreur (fichier2).

Mon problème est de savoir comment faire pour supprimer les lignes de la feuille excel (Fichier1) en fonction des numéros de lignes contenus dans le fichier2.

Pour être plus clair, le fichier 2 me signale que les lignes 4, 10, 25 ... sont à supprimer du fichier1.

Comment faire pour supprimer ces 3 lignes (c'est un exemple il y en a plus de 8000) en une seule opération ?
Merci d'avance de votre aide.
 

Pièces jointes

  • Fichier1.xls
    23 KB · Affichages: 158
  • Fichier2.xls
    16 KB · Affichages: 73
  • Fichier1.xls
    23 KB · Affichages: 162
  • Fichier2.xls
    16 KB · Affichages: 74
  • Fichier1.xls
    23 KB · Affichages: 158
  • Fichier2.xls
    16 KB · Affichages: 75

Pierrot93

XLDnaute Barbatruc
Re : Supression de lignes dans une feuille excel en fonction du numéro de la ligne

Bonjour,

regarde le code ci-dessous devrait faire ce que tu veux, enfin j'esère... :

Code:
Option Explicit
Sub test()
Dim i As Long
With Workbooks("Fichier2.xls").Sheets("Feuil1")
    For i = .Range("C65536").End(xlUp).Row To 2 Step -1
        Workbooks("Fichier1.xls").Sheets("Feuil1").Rows(.Cells(i, 3).Value).Delete
    Next i
End With
End Sub

bon après midi
@+
 

kjin

XLDnaute Barbatruc
Re : Supression de lignes dans une feuille excel en fonction du numéro de la ligne

Bonjour,
Code:
Sub delerreurs()
Dim T, i As Long
Application.ScreenUpdating = False
Set wb = Workbooks.Open(ActiveWorkbook.Path & "\Fichier2.xls")
T = Sheets("Feuil1").Range("C2:C" & Range("C65000").End(xlUp).Row).Value
wb.Close
For i = UBound(T) To LBound(T) Step -1
    ActiveSheet.Rows(T(i, 1)).Delete
Next
Application.ScreenUpdating = True

End Sub

Edit : Désolé Pierrot, je suis juste un peu à la bourre !


A+
kjin
 

Moebius95

XLDnaute Nouveau
Re : Supression de lignes dans une feuille excel en fonction du numéro de la ligne

Bonjour,

Après avoir supprimé les lignes efficacement grace à vos conseils, j'ai besoin selon le même principe non pas de les supprimer mais de les copier vers une autre feuille excel ou un autre classeur.
Bien sûr j'ai toujours le fichier d'origine contenant les lignes qui devaient être supprimées.

merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Supression de lignes dans une feuille excel en fonction du numéro de la ligne

Bonjour Moebius, Kjin

essaye peut être ainsi, copie les lignes dans un autre classeur ouvert, noms classeurs et feuilles à adapter, non testé.... :

Code:
Option Explicit
Sub test()
Dim i As Long
With Workbooks("Fichier2.xls").Sheets("Feuil1")
    For i = .Range("C65536").End(xlUp).Row To 2 Step -1
        Workbooks("Fichier1.xls").Sheets("Feuil1").Rows(.Cells(i, 3).Value).Copy _
            Destination:=Workbooks("Fichier3.xls").Sheets("Feuil1").Range("A65536").End(xlUp)(2)
    Next i
End With
End Sub

bon après midi
@+
 

Moebius95

XLDnaute Nouveau
Re : Supression de lignes dans une feuille excel en fonction du numéro de la ligne

Re Bonjour,

Merci beaucoup Pierrot, ça marche nickel !!!
Tu es trop fort !!
Autre question, as tu une formule magique pour modifier les résultats du foot de la coupe du monde ???:D

Bonne fin de journée
 

Discussions similaires

Statistiques des forums

Discussions
312 883
Messages
2 093 234
Membres
105 657
dernier inscrit
dominique pinocchio