Supprimer des lignes sous condition

boby

XLDnaute Junior
Bonjour à tous,

je suis le nouveau de la classe

j'ai un fichier dont je souhaiterai supprimer quelques lignes sous conditions:mad: :

- colonne H : supprimer toutes les lignes dont les codes ISIN ne commençant pas par "AT" - "DK" - "FI" - "GB" - "IE" - "JP" - "NL" - "PT" - "XS0"
ps: (0=zero)
:confused:
- colonne W: supprimer toutes les lignes dont les cellules ne contiennent pas "UNM" ou "ICMO" conserver les cellules vides
:eek:
- trier par ordre croissant les colonnes N puis O
:rolleyes:
- sauter trois lignes entières quand dans la colonnes N on passe de "C" à "E" et de "E" à "X"

- mise en page:
uniformiser les lignes et les colonnes avec un zoom à 82%, des cellules centrées ajustée, les colonnes J K et L en separateur de milliers, et une couleur de remplissage blanche puis fenetres/reorganiser/horizontal

voici un echantillon du fichier

merci d'avance pour votre aide
 

Pièces jointes

  • Trades.xls
    40 KB · Affichages: 205
Dernière édition:

porcinet82

XLDnaute Barbatruc
Re : Supprimer des lignes sous condition

re,

Bizarre que ca te lance l'impression de toutes tes feuilles, je suis sur qu'il doit exister une option, mais ou ???

Sinon avec un bout de code tu dois pouvoir bidouiller, mais c'est pas terrible. Un truc du genre :
Sub test()
Dim i%

For i = 1 To Sheets.Count
If Not Sheets(i).UsedRange = "" Then
'ici tu lances l'impression de ta feuille
End If
Next i
End Sub


@+
 

luis

XLDnaute Nouveau
Re : Supprimer des lignes sous condition

Bonjour,

J'ai un petit soucis j'ai réalisé une macro avec plusieurs suppressions sous condition,
mais ma macro met énormément de temps à se réaliser ...
Y-aurait-il un moyen de réduire ce laps de temps (j'ai déjà réduit la fenêtre comme j'ai pu le lire dans un post) ?

Dim ligne As Double

For ligne = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(ligne, 1) = "" Then Rows(ligne).Delete
If ...
Next ligne

Merci.
 

porcinet82

XLDnaute Barbatruc
Re : Supprimer des lignes sous condition

Salut,

Essaye peut etre un truc de ce genre (ca permet de figer l'ecant au moment ou la macro s'execute):
Code:
Sub Tamacro()
 
Application.ScreenUpdating = False
[COLOR=seagreen]'ton code[/COLOR]
Application.ScreenUpdating = True
End Sub

@+
 

luis

XLDnaute Nouveau
Re : Supprimer des lignes sous condition

Bonsoir,

j'ai quelques notions sur VBA mais je ne connais pas du tout la fonction SelectCase

Pouvez-vous me dire à qu'elle est son utilité ? Comment elle fonctionne ? (et si éventuellement vous pouvez me donner un exemple)

Je vous remercie beaucoup
 

porcinet82

XLDnaute Barbatruc
Re : Supprimer des lignes sous condition

Salut,

Et bien avec ton exemple, cela donnerai quelque chose de ce genre :

Code:
Dim ligne As Double

Application.ScreenUpdating = False
For ligne = Range("A65536").End(xlUp).Row To 1 Step -1
Select Case Cells(ligne, 1) 
Case "" or 1 or "aa"
     Rows(ligne).Delete
Case 2 or "bb"
     Rows(ligne).Interior.ColorIndex=6
End Select
Next ligne
Application.ScreenUpdating = True

Je t'ai mis plusieurs conditions dans la case ainsi que 2 case afin que tu comprennes le mécanisme. Il te suffit simplement d'adapter selon tes besoins.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 939
Membres
104 703
dernier inscrit
romla937