Bonjour à tous,
Cela fait un bon moment que je suis inscrit sur ce merveilleux site et d’ordinaire la consultation des tutoriels ou du forum ( sans compter l'enregistreur de macros) m'apportait la solution à mes problèmes. Je précise que je suis débutant en programmation VBA excel. Depuis peu je bute sur un problème dont la réponse doit être relativement simple mais qui m’échappe.
Voici l'objet de la demande d'aide:
Je veux sélectionner des lignes dont la valeur est 1 dans la colonne Y. Simple non ? J'ai fait un tri pour les regrouper. J'ai écrit deux macros différentes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub tst() Dim i As Long i = 1 While Not IsEmpty(Cells(i, 3)) If Cells(i, 25).Value = 1 Then Rows(i).Select Selection.Copy End If i = i + 1 Wend End SubLA 1re ne me sélectionne que la dernière ligne et la seconde que la première malgré l'utilisation de boucles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub test_2() Dim i As Long i = 1 For i = Range("Y" & Rows.Count).End(xlUp).Row To 2 Step -1 If Cells(i, 25).Value = 1 Then Rows(i).Copy End If Next i End Sub
Autre impératif, je dois travailler sur plusieurs gros fichiers, environ 1 000 000 de lignes voire plus. Prière de ne pas rire,je me débrouille avec les moyens du bord. Cela pour dire que la solution doit en plus de fonctionner, doit être rapide.
Merci pur votre aide
Amicalement
Jean-François
Partager