Supprimer les lignes contenant moins de 7 valeurs
Résolu/Fermé
A voir également:
- Supprimer les lignes contenant moins de 7 valeurs
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Impossible de supprimer un fichier - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Passer de windows 7 à windows 10 - Accueil - Mise à jour
2 réponses
danielc0
Messages postés
1263
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
16 novembre 2024
142
5 juin 2018 à 13:34
5 juin 2018 à 13:34
Bonjour,
Est-ce que tu es sûr de tes numéros de colonnes ?
Cordialement.
Daniel
Est-ce que tu es sûr de tes numéros de colonnes ?
Cordialement.
Daniel
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
5 juin 2018 à 15:01
5 juin 2018 à 15:01
Bonjour,
Colle cette macro dans l'exporateur de projet visual basic dans la feuille concernée et exécute la.
Tu devrais obtenir le résultat escompté.
Bonne journée
Colle cette macro dans l'exporateur de projet visual basic dans la feuille concernée et exécute la.
Tu devrais obtenir le résultat escompté.
Sub supprimer_ligne()
Dim l, c, fin As Integer
Dim cpte As Integer
'détermine la fin du tableau en fonction de la colonne A
fin = Range("A66536").End(xlUp).Row 'peut être remplacé par un chiffre comme 2000
'pour chaque du tableau
For l = 1 To fin
cpte = 0
'Pour chaque cellule entre les colonnes 20 et 30
For c = 20 To 30 Step 1
'si cellule non vide, incrémente les compteur
If Cells(l, c) <> "" Or Cells(l, c) <> 0 Then
cpte = cpte + 1
End If
Next c
'si le compteur inférieur à 7
If cpte < 7 Then
'supprime la ligne
Rows(l).Delete
End If
Next l
End Sub
Bonne journée
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
5 juin 2018 à 15:08
5 juin 2018 à 15:08
Je viens d'ouvrir ton fichier et il me semble que ce sont plutôt les colonnes de 29 a 39 que tu souhaites analyser vu ton fichier, donc si tel est le cas, modifie le
For c = 29 to 39 Step 1
dans le code plus haut
For c = 29 to 39 Step 1
dans le code plus haut
titeufdu89
Messages postés
374
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
1 avril 2023
38
5 juin 2018 à 15:17
5 juin 2018 à 15:17
Merci beaucoup !
En attendant votre réponse j'ai essayé des trucs et je crois que j'ai réussi avec :
Le seul problème avec ce code (et le votre aussi, si je le comprends bien) étant que si deux lignes successives répondent à cette condition, la deuxième ne sera pas supprimée. Mais les cas sont rares donc ça n'est pas dramatique.
Merci en tout cas,
Cordialement,
Rose
PS : Ayant posté cette question sans être membre, je ne sais comment la marquer résolue ?
En attendant votre réponse j'ai essayé des trucs et je crois que j'ai réussi avec :
Dim i As Integer
For i = 3 To 1708
If Application.WorksheetFunction.CountBlank(Sheets("Feuil1").Range(Cells(i, 30), Cells(i, 39))) > 4 Then
Range(Cells(i, 29), Cells(i, 39)).Delete Shift:=xlUp
End If
Next i
Le seul problème avec ce code (et le votre aussi, si je le comprends bien) étant que si deux lignes successives répondent à cette condition, la deuxième ne sera pas supprimée. Mais les cas sont rares donc ça n'est pas dramatique.
Merci en tout cas,
Cordialement,
Rose
PS : Ayant posté cette question sans être membre, je ne sais comment la marquer résolue ?
danielc0
Messages postés
1263
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
16 novembre 2024
142
6 juin 2018 à 14:24
6 juin 2018 à 14:24
Quand on supprime des lignes, il faut partir du bas :
Daniel
For i = 1708 To 3 Step -1
Daniel
6 juin 2018 à 09:54
C'est de 30 à 39 que je souhaite compter et de 29 à 39 que je souhaite supprimer.