Bonjour,
j'ai un petit problème concernant la sélection d'une plage spécifique dans un tableau pour supprimer les lignes d'une colonne dont la valeur de la quantité est égale à zéro (Sortie=0).
j'ai testé certaines solutions trouvées sur le net mais ce n'est pas ce que je recherche j'ai fais une formule(affiché dans le code en commentaire) avec la condition si ça ne marche pas j'ai testé une vba de JCGL du 29 juin 2010 sur ce forum
mais ce n'est pas exactement ce que je veux, car elle efface toutes les ligne vide de la feuille (qui contient des titres et le logo).
dans Mon tableau, de la ligne 8 à la ligne 17 contiennent des formules et ces formules doivent restées même si une ou plusieurs cellules sont vides ou contiennent une valeur nulle donc le test doit être sur une plage allant de la ligne 18 à la ligne 27.
j'espère avoir su exposé mon problème et merci de m'aider (^_^).
voici mon code:
Private Sub BoutonValidationSortie()
Dim Lig%
Application.ScreenUpdating = False
Sheets("Base de donnée Sortie").Visible = True
Sheets("Base de donnée Sortie").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
'*********************************
' Enregistrement Dix Lignes Dimanche 26/09/2020 par karim
'*********************************
Rows("8:17").EntireRow.AutoFit
Range("A8:F17").Select
Selection.Copy
Range("18:27").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("8:17").RowHeight = 0
'*********************************
'Enlever Lignes Vides contenant 0 en quantité par Karim le 27/09/2020
'**********************************************
' If Range("f18").Value = "0" Then Range("f18").EntireRow.Delete
' If Range("f19").Value = "0" Then Range("f19").EntireRow.Delete
' If Range("f20").Value = "0" Then Range("f20").EntireRow.Delete
' If Range("f21").Value = "0" Then Range("f21").EntireRow.Delete
' If Range("f22").Value = "0" Then Range("f22").EntireRow.Delete
' If Range("f23").Value = "0" Then Range("f23").EntireRow.Delete
' If Range("f24").Value = "0" Then Range("f24").EntireRow.Delete
' If Range("f25").Value = "0" Then Range("f25").EntireRow.Delete
' If Range("f26").Value = "0" Then Range("f26").EntireRow.Delete
' If Range("f27").Value = "0" Then Range("f27").EntireRow.Delete
' If Range("f28").Value = "0" Then Range("f28").EntireRow.Delete
' If Range("f29").Value = "0" Then Range("f29").EntireRow.Delete
' If Range("f30").Value = "0" Then Range("f30").EntireRow.Delete
'***********************************************
Application.ScreenUpdating = 0 'code tiré du net forum Excel Download de JCGL 29 juin 2010
For Lig = [f65536].End(xlUp).Row To 1 Step -1
If Range("F" & Lig).Value = 0 Then Rows(Lig).Delete
Next
'************************************************
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A18").Select
Sheets("Base de Donnée Sortie").Select
'Sheets("Mise à Jour des Interventions").Select
Application.ScreenUpdating = True
MsgBox "La Sortie PR Enregistrée avec Succée: ", vbOKOnly + vbInformation, "Enregistrement Validé"
End Sub