Supprimer plusieurs ligne par macro
Résolujof.27 Messages postés 80 Statut Membre -
je cherche une seconde macro qui supprime les lignes a partir de la ligne 14 jusqu'à la ligne où dans la colonne H il y a la valeur la plus proche de -180; puis en faire une seconde supprimant les lignes à partir de la colonne H indiquant un nombre supérieur a 540 jusqu'à la fin.
mon tableau s'étant sur 10 colonnes et un nombre de lignes supérieur a 12000.
pour plus de renseignement ou avoir le fichier. demandez moi, j'espère m'être bien exprimé.
merci d'avance.
cdlt
13 réponses
Une macro Excel est proposée pour supprimer des lignes à partir de la 14e ligne jusqu'à celle où la valeur en colonne H est proche de -180, puis supprimer celles où H dépasse 540. Des solutions VBA ont été présentées, notamment une approche utilisant une colonne intermédiaire ou un filtre automatique pour identifier les lignes à supprimer et les effacer. Certaines propositions préconisent de copier-coller les valeurs pour éviter de perdre les formules, ou d’appliquer l’opération sur une copie du fichier afin de limiter les risques. En cas de très grandes bases, la vitesse d'exécution et la gestion des références peuvent être problématiques, ce qui implique d'adapter les colonnes ciblées et d’évaluer les alternatives.
-
Bonjour jof.27,
Voilà une petite Macro qui devrait résoudre ton problème
Sub Suppr_Inf180_Sup540() NB_Debut = Sheets(1).Cells(65536, 8).End(xlUp).End(xlUp).Row + 1 Nb_Ligne = Sheets(1).Cells(65536, 8).End(xlUp).Row For i = NB_Debut To Nb_Ligne Valeur = Sheets(1).Cells(i, 8) If Valeur < -180 Then GoTo Fin Else Range(Rows(NB_Debut), Rows(i - 1)).Select Selection.Delete Exit For End If Fin: Next i Sheets(1).Cells(NB_Debut, 1).FormulaR1C1 = "=R[-10]C[7]-R[-10]C[6]" Sheets(1).Cells(NB_Debut, 12) = "" Nb_Ligne = Sheets(1).Cells(65536, 8).End(xlUp).Row For i = NB_Debut To Nb_Ligne Valeur = Sheets(1).Cells(i, 8) If Valeur > 540 Then Range(Rows(i), Rows(Nb_Ligne)).Select Selection.Delete Exit For End If Next i End Sub-
-
-
-
oui c'est toujours le cas. en fait devait y avoir un bug puisque je viens de la refaire elle a fonctionner seulement elle supprime que les valeurs supérieur a 540.
mais cela me suffit ca va alléger mon fichier déja.
merci beaucoup je vais partir sur une autre macro afin d'accomplir mon but final de faire des somme de la colonne L.
merci beaucoup.
-