Bonjour,
En A1:A10 des noms; B1:B10 des valeurs dont certaines sont égales à 0. Qu'elle serait la macro qui permettrait de supprimer les lignes contenant la valeur 0 en B:
D'avance merci pour votre aide,
Sylvain
Version imprimable
Bonjour,
En A1:A10 des noms; B1:B10 des valeurs dont certaines sont égales à 0. Qu'elle serait la macro qui permettrait de supprimer les lignes contenant la valeur 0 en B:
D'avance merci pour votre aide,
Sylvain
Bonsoir,
essayes ce code
Code:
1
2
3
4 Dim x As Integer For x = 10 To 1 Step -1 If Range("b" & x) = 0 Then Range("a" & x).EntireRow.Delete Next x
DOM bonjour,
Je découvre le VBA donc....
Dois-je recopier telles quelles ces lignes dans un module de mon classeur ?
Sylvain
Bonjour
Tu mets le code dans un module, puis Alt + F8 et tu lance le code
CordialementCode:
1
2
3
4
5
6
7 Sub Boucle() derniereligne = Range("A1").SpecialCells(xlCellTypeLastCell).Row For i = derniereligne To 2 Step -1 If Range("B" & i).Value <> "" And Range("B" & i).Value = "0" Then Rows(i).EntireRow.Delete Next i End Sub
Merci, j'ai recopié le code mais pas de succès. Celui de DOM fonctionne effectivement bien.
Maintenant qu'elle serait la macro si je veux supprimer les lignes qui ne contiennent pas une ceratine valeur, la lettre "a" par exemple dans les cellules de la colonne B ?
Sylvain
Bonjour
Respecte bien la lettre A en majuscule dans la colonne B, le code est vérifié à l'instant
Code:
1
2
3
4
5 Sub SuppressionLignesAvecCritèreAdansColB() For n = Range("B65536").End(xlUp).Row To 1 Step -1 If InStr(Range("B" & n), "A") > 0 Then Rows(n).Delete Next n End Sub
Pourtant je viens de vérifier le code si je mets un 0 dans la colonne B la ligne est bien supprimée avec le code proposé
CordialementCode:
1
2
3
4
5
6 Sub Boucle() derniereligne = Range("A1").SpecialCells(xlCellTypeLastCell).Row For i = derniereligne To 2 Step -1 If Range("B" & i).Value <> "" And Range("B" & i).Value = "0" Then Rows(i).EntireRow.Delete Next i End Sub
Je suis allé trop vite, tu mets un "a" minuscule dans ta demande
Code:
1
2
3
4
5 Sub SuppressionLignesAvecCritèreAdansColB() For n = Range("B65536").End(xlUp).Row To 1 Step -1 If InStr(Range("B" & n), "a") > 0 Then Rows(n).Delete Next n End Sub