Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Ne connaissant pas grand chose au VBA. je souhaiterais savoir quel code appliquer pour supprimer des lignes qui contiennent le mot (OUT) existant sur la colonne exemple 44. cela doit se faire sur l'ensemble des lignes du tableau .
Bonsoir job75,
J'ai tenté de rajouter des formules dans 3 colonnes a droite de la feullle.
Si y a un lien ou je partagerai avec vous le fichier .
il a beaucoup changer depuis la 1ère version
UPL 1 et UPL 2
je les ai créer pour obtenir un fichier dont les lignes contiennent la mention UPL 1 et dans un autre fichier les contenant la mention UPL 2 ( bien sur sans les entêtes)
Les deux fichier s'actualisent à chaque fois je souhaite avoir une dernière version (vBA Mise_en_forme).
et ma base (commande) reste intacte.
Une 1ère remarque sur votre dernier fichier post #17.
Chez moi la suppression d'une ligne quelconque de la feuille "Commande" prend un temps fou.
C'est dû aux formules des feuilles "Liste Destination (UPL 1)" et "Liste Destination (UPL 2)".
Je les ai allégées dans le fichier joint en remplaçant LIGNES("$1:1) par LIGNE().
De plus la validation matricielle est inutile.
Une 2ème remarque, maintenant les "OUT" sont en colonne AS donc il faut utiliser :
VB:
Sub Suppr()
Dim n&, i&
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual 'évite le recalcul des formules
With ActiveSheet 'Avec la feuille active
n = .Range("A" & .Rows.Count).End(xlUp).Row 'je recherche la dernière ligne remplie de la colonne A
For i = n To 2 Step -1 'Je boucle sur chaque cellule de la colonne AR en partant du bas vers le haut (ligne2) (STEP -1 pour remonter ligne par ligne
'Si dans la colonne AS et la ligne, il y a le mot OUT, je supprime la ligne
If .Range("AS" & i).Value = "OUT" Then .Range("AS" & i).EntireRow.Delete
Next i
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Il n'y a que 15 lignes à supprimer mais cela prend quand même chez moi 0,97 seconde.
Une 1ère remarque sur votre dernier fichier post #17.
Chez moi la suppression d'une ligne quelconque de la feuille "Commande" prend un temps fou.
C'est dû aux formules des feuilles "Liste Destination (UPL 1)" et "Liste Destination (UPL 2)".
Je les ai allégées dans le fichier joint en remplaçant LIGNES("$1:1) par LIGNE().
De plus la validation matricielle est inutile.
Une 2ème remarque, maintenant les "OUT" sont en colonne AS donc il faut utiliser :
VB:
Sub Suppr()
Dim n&, i&
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual 'évite le recalcul des formules
With ActiveSheet 'Avec la feuille active
n = .Range("A" & .Rows.Count).End(xlUp).Row 'je recherche la dernière ligne remplie de la colonne A
For i = n To 2 Step -1 'Je boucle sur chaque cellule de la colonne AR en partant du bas vers le haut (ligne2) (STEP -1 pour remonter ligne par ligne
'Si dans la colonne AS et la ligne, il y a le mot OUT, je supprime la ligne
If .Range("AS" & i).Value = "OUT" Then .Range("AS" & i).EntireRow.Delete
Next i
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Il n'y a que 15 lignes à supprimer mais cela prend quand même chez moi 0,97 seconde.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.