Supression de lignes selon condition
Résolu/Fermé
A voir également:
- Supression de lignes selon condition
- Excel cellule couleur si condition texte - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Condition et excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
4 réponses
Merci pour votre réponse.
Ca me donne une erreur 1004 à cet endroit-là :
If UCase(Cells(lig, 12)) = "PAS DE VPC" Then
Ca me donne une erreur 1004 à cet endroit-là :
If UCase(Cells(lig, 12)) = "PAS DE VPC" Then
yg_be
Messages postés
22719
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
13 juin 2017 à 19:16
13 juin 2017 à 19:16
bonsoir, as-tu essayé d'exécuter ta macro pas à pas? c'est souvent très éclairant!
https://www.commentcamarche.net/contents/1381-debogage
https://www.commentcamarche.net/contents/1381-debogage
@Leghe
Rebonjour,
Tu as dû avoir cette erreur 1004 car j'avais fait une petite erreur ;
essaye maintenant avec ce nouveau code :
dlig : dernière ligne de ton tableau ; 1ère ligne : la ligne 2 ;
Cells(lig, 12) : 12 => colonne L ; lignes lig : dlig à 2
J'ai vérifié que UCase([L5]) marche même si [L5] est vide :
c'est le cas, ça passe sans provoquer d'erreur.
En principe, il ne devrait plus y avoir d'erreur 1004 !
Si elle se reproduit quand même, essaye avec :
À te lire pour avoir ton avis.
--------------------------------------
Par rapport à mon précédent message (que j'ai supprimé),
j'ai laissé la suite du texte inchangée.
Si ta catégorie en colonne L peut être "PAS DE VPC" sans rien après,
inutile d'utiliser Like !
Si tu as des cellules qui commencent par "pas de vpc", donc avec
une suite, tel que : "pas de vpc de type 1", alors oui, là tu dois
utiliser Like, et la ligne #8 devient :
N'oublie pas le caractère " * " : c'est un caractère joker qui signifie
« tous les caractères ».
Si des caractères peuvent aussi être devant "pas de vpc" :
Merci de me dire si ça te convient.
Rebonjour,
Tu as dû avoir cette erreur 1004 car j'avais fait une petite erreur ;
essaye maintenant avec ce nouveau code :
Option Explicit Sub Macro1() Dim dlig As Long, lig As Long dlig = Range("L" & Rows.Count).End(xlUp).Row For lig = dlig To 2 Step -1 If UCase(Cells(lig, 12)) = "PAS DE VPC" Then Rows(lig).Delete Next lig End Sub
dlig : dernière ligne de ton tableau ; 1ère ligne : la ligne 2 ;
Cells(lig, 12) : 12 => colonne L ; lignes lig : dlig à 2
J'ai vérifié que UCase([L5]) marche même si [L5] est vide :
c'est le cas, ça passe sans provoquer d'erreur.
En principe, il ne devrait plus y avoir d'erreur 1004 !
Si elle se reproduit quand même, essaye avec :
If UCase(Cells(lig, 12).Value) = "PAS DE VPC" Then Rows(lig).Delete
À te lire pour avoir ton avis.
--------------------------------------
Par rapport à mon précédent message (que j'ai supprimé),
j'ai laissé la suite du texte inchangée.
Si ta catégorie en colonne L peut être "PAS DE VPC" sans rien après,
inutile d'utiliser Like !
Si tu as des cellules qui commencent par "pas de vpc", donc avec
une suite, tel que : "pas de vpc de type 1", alors oui, là tu dois
utiliser Like, et la ligne #8 devient :
If UCase(Cells(lig, 12)) Like "PAS DE VPC*" Then Rows(lig).Delete
N'oublie pas le caractère " * " : c'est un caractère joker qui signifie
« tous les caractères ».
Si des caractères peuvent aussi être devant "pas de vpc" :
If UCase(Cells(lig, 12)) Like "*PAS DE VPC*" Then Rows(lig).Delete
Merci de me dire si ça te convient.