Conserver une modalité selon critère VBA
Résolu/Fermé
Lils_Bis
Messages postés
57
Date d'inscription
lundi 4 avril 2016
Statut
Membre
Dernière intervention
28 décembre 2020
-
18 avril 2016 à 12:10
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020 - 18 avril 2016 à 14:16
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020 - 18 avril 2016 à 14:16
A voir également:
- Conserver une modalité selon critère VBA
- Vba écrire dans une cellule ✓ - Forum Excel
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
2 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
18 avril 2016 à 13:40
18 avril 2016 à 13:40
bonjour,
voici la macro :
sub suppression ()
' on commence à la ligne 1
i= 1
'on va balayer la colonne 1 jusqu'à qu'une cellule soit vide
do while sheets("sheet1").cells(i,1) <> ""
if cells(i,1) <> "A" then
sheets("sheet1").Delete Shift:=xlUp
i=i-1
end if
i=i+1
loop
end sub
voici la macro :
sub suppression ()
' on commence à la ligne 1
i= 1
'on va balayer la colonne 1 jusqu'à qu'une cellule soit vide
do while sheets("sheet1").cells(i,1) <> ""
if cells(i,1) <> "A" then
sheets("sheet1").Delete Shift:=xlUp
i=i-1
end if
i=i+1
loop
end sub
Lils_Bis
Messages postés
57
Date d'inscription
lundi 4 avril 2016
Statut
Membre
Dernière intervention
28 décembre 2020
Modifié par Lils_Bis le 18/04/2016 à 14:16
Modifié par Lils_Bis le 18/04/2016 à 14:16
J'ai trouvé une solution, je la poste ici !
Dim Derlig As Long, b As Long
With ActiveWorkbook.Worksheets("Feuil1")
Derlig = .Range("A2").End(xlDown).Row
For b = Derlig To 2 Step -1
If .Range("D" & b).Value <> "A" Then
.Range("D" & b).EntireRow.Delete
End If
Next b
End With
Dim Derlig As Long, b As Long
With ActiveWorkbook.Worksheets("Feuil1")
Derlig = .Range("A2").End(xlDown).Row
For b = Derlig To 2 Step -1
If .Range("D" & b).Value <> "A" Then
.Range("D" & b).EntireRow.Delete
End If
Next b
End With
18 avril 2016 à 13:52
Merci pour ta solution, je viens de la tester à l'instant et j'ai un petit problème. J'ai bien essayé de bidouiller quelque peu mais rien à faire!
C'est cette ligne qui me pose problème :
sheets("sheet1").Delete Shift:=xlUp
En effet, quand j'exécute, l'erreur d'exécution '1004' apparaît, à savoir "Erreur définie par l'application ou par l'objet".
Si tu savais d'où pouvait provenir le problème, cela me serait d'une grande aide !
Merci à toi par avance !