Les valeurs négatives étant colorées, je ne comprends pas la demande .... je cherche a supprimé toutes les lignes dans mon tableau dont la valeur marge n'est pas négative et gardé juste celle qui sont en couleur...
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (dernière Ligne)
Dim x As Integer 'décalre la variable i (Incrément)
With Sheets("Feuil1") 'prend en compte la variable "Feuil1"
dl = .Cells(Application.Rows.Count, 7).End(xlUp).Row 'définit la dernière ligne de la colonne 7 (G)
For i = dl To 8 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 8
If .Cells(i, 7) > 0 Then .Rows(i).Delete 'si la cellule est positive, supprime la ligne
Next i 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub
ActiveWindow.SmallScroll Down:=-6
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Application.WindowState = xlMinimized
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (dernière Ligne)
Dim x As Integer 'décalre la variable i (Incrément)
With Sheets("StockCompare") 'prend en compte la variable "StockCompare"
dl = .Cells(Application.Rows.Count, 7).End(xlUp).Row 'définit la dernière ligne de la colonne 13 (G)
For i = dl To 14 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 14
Debug.Print .Cells(dl, 7).Value
If .Cells(i, 7) > 0 Then .Rows(i).Delete 'si la cellule est positive, supprime la ligne
Next i 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "StockCompare"
End Sub
ActiveWindow.SmallScroll Down:=-6
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Application.WindowState = xlMinimized
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (dernière Ligne)
Dim x As Integer 'décalre la variable i (Incrément)
With Sheets("StockCompare") 'prend en compte la variable "StockCompare"
dl = .Cells(Application.Rows.Count, 7).End(xlUp).Row 'définit la dernière ligne de la colonne 13 (G)
For i = dl To 3 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 3
If .Cells(i, 7) > 0 Then .Rows(i).Delete 'si la cellule est positive, supprime la ligne
Next i 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "StockCompare"
End Sub
Bonjour le fil, bonjour le forum,
Je fait l'effort de commenter le plus souvent possible les codes que je propose pour permettre à l'utilisateur de le comprendre et donc de le modifier... Voici le code de ton dernier fichier exemple :
Les quatre premières lignes hors procédure font planter :Code:ActiveWindow.SmallScroll Down:=-6 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Application.WindowState = xlMinimized Sub Macro1() Dim dl As Integer 'déclare la variable dl (dernière Ligne) Dim x As Integer 'décalre la variable i (Incrément) With Sheets("StockCompare") 'prend en compte la variable "StockCompare" dl = .Cells(Application.Rows.Count, 7).End(xlUp).Row 'définit la dernière ligne de la colonne 13 (G) For i = dl To 14 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 14 Debug.Print .Cells(dl, 7).Value If .Cells(i, 7) > 0 Then .Rows(i).Delete 'si la cellule est positive, supprime la ligne Next i 'prochaine cellule de la boucle End With 'fin de la prise en compte de l'onglet "StockCompare" End Sub
Je sais pas d'où tu les sors ? Il suffit des les supprimer !Code:ActiveWindow.SmallScroll Down:=-6 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 Application.WindowState = xlMinimized
Ensuite dans ton premier exemple la première ligne de données commençait à la ligne 14 alors que dans ce dernier elle commence à la ligne 3
il suffit donc de modifier :
For i = dl To 14 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 14
par :
For i = dl To 3 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 3
le code final :
Tu remarqueras que j'ai aussi supprimé la ligne Debug.Print... car elle ne m'avait servi que pour vérifier les données et j'avais oublié de la supprimer la première fois. Elle n'a pas d'intérêt pour l'exécution de la tâche que tu demandes...Code:Sub Macro1() Dim dl As Integer 'déclare la variable dl (dernière Ligne) Dim x As Integer 'décalre la variable i (Incrément) With Sheets("StockCompare") 'prend en compte la variable "StockCompare" dl = .Cells(Application.Rows.Count, 7).End(xlUp).Row 'définit la dernière ligne de la colonne 13 (G) For i = dl To 3 Step -1 'boucle inversée des cellules de la colonne G des lignes dl à 3 If .Cells(i, 7) > 0 Then .Rows(i).Delete 'si la cellule est positive, supprime la ligne Next i 'prochaine cellule de la boucle End With 'fin de la prise en compte de l'onglet "StockCompare" End Sub