ricardo512
XLDnaute Nouveau
Bonjour à tous ,
Étant débutant j'ai un soucis avec une macro que j'essaie de développer
Voila je doit filtrer les donnée d'un fichier excel en fonction de nom de société et de numéro de compte
Jusque la pas de grand problème étant donné que j'ai fai des filtres automatique avec deux critères ( je n'en avais pas besoin de plus ) le tout compris dans différents onglet ( ex : onglet : "compte523" ou onglet "société X"...
Maintenant la difficulté réside dans le fait que je me retrouve avec un onglet "autres" qui doit répertorier tout ce qui na pas été filtré encore, excepté certains comptes qui ne sont pas à traiter
Ainsi je ne peux pas faire de filtre auto vu qu'il y 10 critères au moins, j'ai donc commence à réaliser cela :
Dim I As Long
Dim J As Long
Dim K As Long
Dim L As Long
Dim Plage As Range
Sheets(6).Select
Set Plage = Range("D2:E" & Range("D2").End(xlDown).Row)
For I = Plage.Cells.Count To 1 Step -1
If Plage.Cells(I).Value = 5580 Then
Plage.Cells(I).EntireRow.delete
End If
Next I
For J = Plage.Cells.Count To 1 Step -1
If Plage.Cells(J).Value = 5672 Then
Plage.Cells(J).EntireRow.delete
End If
Next J
For K = Plage.Cells.Count To 1 Step -1
If Plage.Cells(K).Value = 5678 Then
Plage.Cells(K).EntireRow.delete
End If
Next K
For L = Plage.Cells.Count To 1 Step -1
If Plage.Cells(L).Value = 5655 Then
Plage.Cells(L).EntireRow.delete
End If
Next L
Je demande donc à excel d'aller dans la feuille 6 puis la colonne D ( la ou ce trouve met numéro de cpte) et de me supprimer tout les lignes qui comprennent les valeurs de compte marquées ( 5655 5678...)
Jusque la ça marche mais le problème est que j'ai encore une dizaine de compte à inscrire et que je remarque, d'une, que le traitement est lourd et de deux, que cela peut ce simplifier en les imbriquants ensemble du genre :
For L = Plage.Cells.Count To 1 Step -1
If Plage.Cells(L).Value = 5655 or =5678 or=6890 Then
Plage.Cells(L).EntireRow.delete
Je sais que cela ne marche pas mais j'aimerais quelque chose qui s'y rapproche
Sinon autre idée , à la place des numéro de compte mettre les nom des société que je ne veux pas faire apparaitre dans la feuille
Un point important aussi certaines sociétés on le même numéro de compte
Voila j'espère que vous pourrez m'aider en tout cas merci d'avance à ceux qui se pencherons sur mon problème
Étant débutant j'ai un soucis avec une macro que j'essaie de développer
Voila je doit filtrer les donnée d'un fichier excel en fonction de nom de société et de numéro de compte
Jusque la pas de grand problème étant donné que j'ai fai des filtres automatique avec deux critères ( je n'en avais pas besoin de plus ) le tout compris dans différents onglet ( ex : onglet : "compte523" ou onglet "société X"...
Maintenant la difficulté réside dans le fait que je me retrouve avec un onglet "autres" qui doit répertorier tout ce qui na pas été filtré encore, excepté certains comptes qui ne sont pas à traiter
Ainsi je ne peux pas faire de filtre auto vu qu'il y 10 critères au moins, j'ai donc commence à réaliser cela :
Dim I As Long
Dim J As Long
Dim K As Long
Dim L As Long
Dim Plage As Range
Sheets(6).Select
Set Plage = Range("D2:E" & Range("D2").End(xlDown).Row)
For I = Plage.Cells.Count To 1 Step -1
If Plage.Cells(I).Value = 5580 Then
Plage.Cells(I).EntireRow.delete
End If
Next I
For J = Plage.Cells.Count To 1 Step -1
If Plage.Cells(J).Value = 5672 Then
Plage.Cells(J).EntireRow.delete
End If
Next J
For K = Plage.Cells.Count To 1 Step -1
If Plage.Cells(K).Value = 5678 Then
Plage.Cells(K).EntireRow.delete
End If
Next K
For L = Plage.Cells.Count To 1 Step -1
If Plage.Cells(L).Value = 5655 Then
Plage.Cells(L).EntireRow.delete
End If
Next L
Je demande donc à excel d'aller dans la feuille 6 puis la colonne D ( la ou ce trouve met numéro de cpte) et de me supprimer tout les lignes qui comprennent les valeurs de compte marquées ( 5655 5678...)
Jusque la ça marche mais le problème est que j'ai encore une dizaine de compte à inscrire et que je remarque, d'une, que le traitement est lourd et de deux, que cela peut ce simplifier en les imbriquants ensemble du genre :
For L = Plage.Cells.Count To 1 Step -1
If Plage.Cells(L).Value = 5655 or =5678 or=6890 Then
Plage.Cells(L).EntireRow.delete
Je sais que cela ne marche pas mais j'aimerais quelque chose qui s'y rapproche
Sinon autre idée , à la place des numéro de compte mettre les nom des société que je ne veux pas faire apparaitre dans la feuille
Un point important aussi certaines sociétés on le même numéro de compte
Voila j'espère que vous pourrez m'aider en tout cas merci d'avance à ceux qui se pencherons sur mon problème