Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5
dernières formules et je ne sai pa pk???
SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop
longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then
For Each WS In Worksheets
WS.Rows("153:153").Delete Shift:=xlUp
Next WS
End If
If Range("b25") = "x" Then
For Each WS In Worksheets
WS.Rows("147:147").Delete Shift:=xlUp
Next WS
End If
If Range("b24") = "x" Then
For Each WS In Worksheets
WS.Rows("151:152").Delete Shift:=xlUp
Next WS
End If
If Range("b23") = "x" Then
For Each WS In Worksheets
WS.Rows("143:152").Delete Shift:=xlUp
Next WS
End If
If Range("b22") = "x" Then
For Each WS In Worksheets
WS.Rows("137:137").Delete Shift:=xlUp
Next WS
End If
If Range("b21") = "x" Then
For Each WS In Worksheets
WS.Rows("141:142").Delete Shift:=xlUp
Next WS
End If
If Range("b20") = "x" Then
For Each WS In Worksheets
WS.Rows("133:142").Delete Shift:=xlUp
Next WS
End If
If Range("b19") = "x" Then
For Each WS In Worksheets
WS.Rows("121:123").Delete Shift:=xlUp
Next WS
End If
If Range("h8") <> "x" Then
For Each WS In Worksheets
WS.Rows("126:126").Delete Shift:=xlUp
Next WS
End If
If Range("b18") = "x" Then
For Each WS In Worksheets
WS.Rows("124:124").Delete Shift:=xlUp
Next WS
End If
If Range("b18") = "x" Then
For Each WS In Worksheets
WS.Rows("121:122").Delete Shift:=xlUp
Next WS
End If
If Range("b17") = "x" Then
For Each WS In Worksheets
WS.Rows("123:124").Delete Shift:=xlUp
Next WS
End If
If Range("b17") = "x" Then
For Each WS In Worksheets
WS.Rows("121:121").Delete Shift:=xlUp
Next WS
End If
If Range("b16") = "x" Then
For Each WS In Worksheets
WS.Rows("122:124").Delete Shift:=xlUp
Next WS
End If
If Range("b15") = "x" Then
For Each WS In Worksheets
WS.Rows("121:124").Delete Shift:=xlUp
Next WS
End If
If Range("b14") = "x" Then
For Each WS In Worksheets
WS.Rows("94:95").Delete Shift:=xlUp
Next WS
End If
If Range("b13") = "x" Then
For Each WS In Worksheets
WS.Rows("92:93").Delete Shift:=xlUp
Next WS
End If
If Range("b12") = "x" Then
For Each WS In Worksheets
WS.Rows("91:119").Delete Shift:=xlUp
Next WS
End If
If Range("b11") = "x" Then
For Each WS In Worksheets
WS.Rows("87:88").Delete Shift:=xlUp
Next WS
End If
If Range("b10") = "x" Then
For Each WS In Worksheets
WS.Rows("89:90").Delete Shift:=xlUp
Next WS
End If
If Range("h10") <> "x" Then
For Each WS In Worksheets
WS.Rows("78:78").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "16" Then
For Each WS In Worksheets
WS.Rows("74:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "14" Then
For Each WS In Worksheets
WS.Rows("72:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "12" Then
For Each WS In Worksheets
WS.Rows("70:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "10" Then
For Each WS In Worksheets
WS.Rows("68:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "8" Then
For Each WS In Worksheets
WS.Rows("66:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "6" Then
For Each WS In Worksheets
WS.Rows("64:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "4" Then
For Each WS In Worksheets
WS.Rows("62:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "2" Then
For Each WS In Worksheets
WS.Rows("60:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "0" Then
For Each WS In Worksheets
WS.Rows("58:75").Delete Shift:=xlUp
Next WS
End If
If Range("b9") = "x" Then
For Each WS In Worksheets
WS.Rows("56:57").Delete Shift:=xlUp
Next WS
End If
If Range("b9") = "x" Then
For Each WS In Worksheets
WS.Rows("52:53").Delete Shift:=xlUp
Next WS
End If
If Range("b8") = "x" Then
For Each WS In Worksheets
WS.Rows("54:57").Delete Shift:=xlUp
Next WS
End If
If Range("b7") = "x" Then
For Each WS In Worksheets
WS.Rows("52:55").Delete Shift:=xlUp
Next WS
End If
If Range("H6") <> "x" Then
For Each WS In Worksheets
WS.Rows("49:49").Delete Shift:=xlUp
Next WS
End If
If Range("H5") <> "x" Then
For Each WS In Worksheets
WS.Rows("48:48").Delete Shift:=xlUp
Next WS
End If
If Range("H4") <> "x" Then
For Each WS In Worksheets
WS.Rows("47:47").Delete Shift:=xlUp
Next WS
End If
If Range("b5") = "x" Then
Range("C31").Select
Selection.Interior.ColorIndex = xlNone
Range("C32").Select
Selection.Interior.ColorIndex = xlNone
Range("C42").Select
Selection.Interior.ColorIndex = xlNone
Range("C43").Select
Selection.Interior.ColorIndex = xlNone
Range("C44").Select
Selection.Interior.ColorIndex = xlNone
Range("C45").Select
Selection.Interior.ColorIndex = xlNone
Range("C46").Select
Selection.Interior.ColorIndex = xlNone
End If
If Range("b5") = "x" Then
For Each WS In Worksheets
WS.Rows("37:41").Delete Shift:=xlUp
Next WS
End If
If Range("b4") = "x" Then
For Each WS In Worksheets
WS.Rows("37:41").Delete Shift:=xlUp
Next WS
End If
If Range("h9") <> "x" Then
For Each WS In Worksheets
WS.Rows("30:30").Delete Shift:=xlUp
Next WS
End If
If Range("h7") <> "x" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = [E7] Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h11") <> "x" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = [E11] Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "6" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P7" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "5" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P6" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "4" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P5" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P4" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P3" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P2" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P1" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 4 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 3 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 2 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 1 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 4 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 3 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 2 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 1 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "16" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 E ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "14" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 D ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "12" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 C ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "10" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B1.1 H AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "8" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 G AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "6" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 F AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "4" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 E ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 D ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 C ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
qu'est ce que tu appelles ne pas exécuter les 5 premières formules ? Quels sont les symptomes ?
Esteban, the king of the long loop!
Cordialement,
A+
Bonjour a tout le forum!!
Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5 dernières formules et je ne sai pa pk??? SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then For Each WS In Worksheets WS.Rows("153:153").Delete Shift:=xlUp Next WS End If
If Range("b25") = "x" Then For Each WS In Worksheets WS.Rows("147:147").Delete Shift:=xlUp Next WS End If
If Range("b24") = "x" Then For Each WS In Worksheets WS.Rows("151:152").Delete Shift:=xlUp Next WS End If
If Range("b23") = "x" Then For Each WS In Worksheets WS.Rows("143:152").Delete Shift:=xlUp Next WS End If
If Range("b22") = "x" Then For Each WS In Worksheets WS.Rows("137:137").Delete Shift:=xlUp Next WS End If
If Range("b21") = "x" Then For Each WS In Worksheets WS.Rows("141:142").Delete Shift:=xlUp Next WS End If
If Range("b20") = "x" Then For Each WS In Worksheets WS.Rows("133:142").Delete Shift:=xlUp Next WS End If
If Range("b19") = "x" Then For Each WS In Worksheets WS.Rows("121:123").Delete Shift:=xlUp Next WS End If
If Range("h8") <> "x" Then For Each WS In Worksheets WS.Rows("126:126").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("124:124").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("121:122").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("123:124").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("121:121").Delete Shift:=xlUp Next WS End If
If Range("b16") = "x" Then For Each WS In Worksheets WS.Rows("122:124").Delete Shift:=xlUp Next WS End If
If Range("b15") = "x" Then For Each WS In Worksheets WS.Rows("121:124").Delete Shift:=xlUp Next WS End If
If Range("b14") = "x" Then For Each WS In Worksheets WS.Rows("94:95").Delete Shift:=xlUp Next WS End If
If Range("b13") = "x" Then For Each WS In Worksheets WS.Rows("92:93").Delete Shift:=xlUp Next WS End If
If Range("b12") = "x" Then For Each WS In Worksheets WS.Rows("91:119").Delete Shift:=xlUp Next WS End If
If Range("b11") = "x" Then For Each WS In Worksheets WS.Rows("87:88").Delete Shift:=xlUp Next WS End If
If Range("b10") = "x" Then For Each WS In Worksheets WS.Rows("89:90").Delete Shift:=xlUp Next WS End If
If Range("h10") <> "x" Then For Each WS In Worksheets WS.Rows("78:78").Delete Shift:=xlUp Next WS End If
If Range("h18") = "16" Then For Each WS In Worksheets WS.Rows("74:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "14" Then For Each WS In Worksheets WS.Rows("72:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "12" Then For Each WS In Worksheets WS.Rows("70:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "10" Then For Each WS In Worksheets WS.Rows("68:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "8" Then For Each WS In Worksheets WS.Rows("66:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "6" Then For Each WS In Worksheets WS.Rows("64:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "4" Then For Each WS In Worksheets WS.Rows("62:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "2" Then For Each WS In Worksheets WS.Rows("60:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "0" Then For Each WS In Worksheets WS.Rows("58:75").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("56:57").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("52:53").Delete Shift:=xlUp Next WS End If
If Range("b8") = "x" Then For Each WS In Worksheets WS.Rows("54:57").Delete Shift:=xlUp Next WS End If
If Range("b7") = "x" Then For Each WS In Worksheets WS.Rows("52:55").Delete Shift:=xlUp Next WS End If
If Range("H6") <> "x" Then For Each WS In Worksheets WS.Rows("49:49").Delete Shift:=xlUp Next WS End If
If Range("H5") <> "x" Then For Each WS In Worksheets WS.Rows("48:48").Delete Shift:=xlUp Next WS End If
If Range("H4") <> "x" Then For Each WS In Worksheets WS.Rows("47:47").Delete Shift:=xlUp Next WS End If
If Range("b5") = "x" Then Range("C31").Select Selection.Interior.ColorIndex = xlNone Range("C32").Select Selection.Interior.ColorIndex = xlNone Range("C42").Select Selection.Interior.ColorIndex = xlNone Range("C43").Select Selection.Interior.ColorIndex = xlNone Range("C44").Select Selection.Interior.ColorIndex = xlNone Range("C45").Select Selection.Interior.ColorIndex = xlNone Range("C46").Select Selection.Interior.ColorIndex = xlNone End If
If Range("b5") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("b4") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("h9") <> "x" Then For Each WS In Worksheets WS.Rows("30:30").Delete Shift:=xlUp Next WS End If
If Range("h7") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E7] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h11") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E11] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P7" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "5" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P6" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P5" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P4" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P3" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P2" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P1" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "16" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "14" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "12" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "10" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B1.1 H AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "8" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 G AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 F AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
End Sub
bonjour,
qu'est ce que tu appelles ne pas exécuter les 5 premières formules ?
Quels sont les symptomes ?
Esteban, the king of the long loop!
Cordialement,
A+
Bonjour a tout le forum!!
Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5
dernières formules et je ne sai pa pk???
SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop
longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then
For Each WS In Worksheets
WS.Rows("153:153").Delete Shift:=xlUp
Next WS
End If
If Range("b25") = "x" Then
For Each WS In Worksheets
WS.Rows("147:147").Delete Shift:=xlUp
Next WS
End If
If Range("b24") = "x" Then
For Each WS In Worksheets
WS.Rows("151:152").Delete Shift:=xlUp
Next WS
End If
If Range("b23") = "x" Then
For Each WS In Worksheets
WS.Rows("143:152").Delete Shift:=xlUp
Next WS
End If
If Range("b22") = "x" Then
For Each WS In Worksheets
WS.Rows("137:137").Delete Shift:=xlUp
Next WS
End If
If Range("b21") = "x" Then
For Each WS In Worksheets
WS.Rows("141:142").Delete Shift:=xlUp
Next WS
End If
If Range("b20") = "x" Then
For Each WS In Worksheets
WS.Rows("133:142").Delete Shift:=xlUp
Next WS
End If
If Range("b19") = "x" Then
For Each WS In Worksheets
WS.Rows("121:123").Delete Shift:=xlUp
Next WS
End If
If Range("h8") <> "x" Then
For Each WS In Worksheets
WS.Rows("126:126").Delete Shift:=xlUp
Next WS
End If
If Range("b18") = "x" Then
For Each WS In Worksheets
WS.Rows("124:124").Delete Shift:=xlUp
Next WS
End If
If Range("b18") = "x" Then
For Each WS In Worksheets
WS.Rows("121:122").Delete Shift:=xlUp
Next WS
End If
If Range("b17") = "x" Then
For Each WS In Worksheets
WS.Rows("123:124").Delete Shift:=xlUp
Next WS
End If
If Range("b17") = "x" Then
For Each WS In Worksheets
WS.Rows("121:121").Delete Shift:=xlUp
Next WS
End If
If Range("b16") = "x" Then
For Each WS In Worksheets
WS.Rows("122:124").Delete Shift:=xlUp
Next WS
End If
If Range("b15") = "x" Then
For Each WS In Worksheets
WS.Rows("121:124").Delete Shift:=xlUp
Next WS
End If
If Range("b14") = "x" Then
For Each WS In Worksheets
WS.Rows("94:95").Delete Shift:=xlUp
Next WS
End If
If Range("b13") = "x" Then
For Each WS In Worksheets
WS.Rows("92:93").Delete Shift:=xlUp
Next WS
End If
If Range("b12") = "x" Then
For Each WS In Worksheets
WS.Rows("91:119").Delete Shift:=xlUp
Next WS
End If
If Range("b11") = "x" Then
For Each WS In Worksheets
WS.Rows("87:88").Delete Shift:=xlUp
Next WS
End If
If Range("b10") = "x" Then
For Each WS In Worksheets
WS.Rows("89:90").Delete Shift:=xlUp
Next WS
End If
If Range("h10") <> "x" Then
For Each WS In Worksheets
WS.Rows("78:78").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "16" Then
For Each WS In Worksheets
WS.Rows("74:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "14" Then
For Each WS In Worksheets
WS.Rows("72:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "12" Then
For Each WS In Worksheets
WS.Rows("70:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "10" Then
For Each WS In Worksheets
WS.Rows("68:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "8" Then
For Each WS In Worksheets
WS.Rows("66:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "6" Then
For Each WS In Worksheets
WS.Rows("64:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "4" Then
For Each WS In Worksheets
WS.Rows("62:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "2" Then
For Each WS In Worksheets
WS.Rows("60:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "0" Then
For Each WS In Worksheets
WS.Rows("58:75").Delete Shift:=xlUp
Next WS
End If
If Range("b9") = "x" Then
For Each WS In Worksheets
WS.Rows("56:57").Delete Shift:=xlUp
Next WS
End If
If Range("b9") = "x" Then
For Each WS In Worksheets
WS.Rows("52:53").Delete Shift:=xlUp
Next WS
End If
If Range("b8") = "x" Then
For Each WS In Worksheets
WS.Rows("54:57").Delete Shift:=xlUp
Next WS
End If
If Range("b7") = "x" Then
For Each WS In Worksheets
WS.Rows("52:55").Delete Shift:=xlUp
Next WS
End If
If Range("H6") <> "x" Then
For Each WS In Worksheets
WS.Rows("49:49").Delete Shift:=xlUp
Next WS
End If
If Range("H5") <> "x" Then
For Each WS In Worksheets
WS.Rows("48:48").Delete Shift:=xlUp
Next WS
End If
If Range("H4") <> "x" Then
For Each WS In Worksheets
WS.Rows("47:47").Delete Shift:=xlUp
Next WS
End If
If Range("b5") = "x" Then
Range("C31").Select
Selection.Interior.ColorIndex = xlNone
Range("C32").Select
Selection.Interior.ColorIndex = xlNone
Range("C42").Select
Selection.Interior.ColorIndex = xlNone
Range("C43").Select
Selection.Interior.ColorIndex = xlNone
Range("C44").Select
Selection.Interior.ColorIndex = xlNone
Range("C45").Select
Selection.Interior.ColorIndex = xlNone
Range("C46").Select
Selection.Interior.ColorIndex = xlNone
End If
If Range("b5") = "x" Then
For Each WS In Worksheets
WS.Rows("37:41").Delete Shift:=xlUp
Next WS
End If
If Range("b4") = "x" Then
For Each WS In Worksheets
WS.Rows("37:41").Delete Shift:=xlUp
Next WS
End If
If Range("h9") <> "x" Then
For Each WS In Worksheets
WS.Rows("30:30").Delete Shift:=xlUp
Next WS
End If
If Range("h7") <> "x" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = [E7] Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h11") <> "x" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = [E11] Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "6" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P7" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "5" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P6" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "4" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P5" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P4" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P3" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P2" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P1" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 4 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 3 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 2 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 1 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 4 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 3 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 2 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 1 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "16" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 E ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "14" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 D ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "12" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 C ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "10" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B1.1 H AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "8" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 G AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "6" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 F AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "4" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 E ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 D ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 C ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
qu'est ce que tu appelles ne pas exécuter les 5 premières formules ? Quels sont les symptomes ?
Esteban, the king of the long loop!
Cordialement,
A+
Bonjour a tout le forum!!
Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5 dernières formules et je ne sai pa pk??? SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then For Each WS In Worksheets WS.Rows("153:153").Delete Shift:=xlUp Next WS End If
If Range("b25") = "x" Then For Each WS In Worksheets WS.Rows("147:147").Delete Shift:=xlUp Next WS End If
If Range("b24") = "x" Then For Each WS In Worksheets WS.Rows("151:152").Delete Shift:=xlUp Next WS End If
If Range("b23") = "x" Then For Each WS In Worksheets WS.Rows("143:152").Delete Shift:=xlUp Next WS End If
If Range("b22") = "x" Then For Each WS In Worksheets WS.Rows("137:137").Delete Shift:=xlUp Next WS End If
If Range("b21") = "x" Then For Each WS In Worksheets WS.Rows("141:142").Delete Shift:=xlUp Next WS End If
If Range("b20") = "x" Then For Each WS In Worksheets WS.Rows("133:142").Delete Shift:=xlUp Next WS End If
If Range("b19") = "x" Then For Each WS In Worksheets WS.Rows("121:123").Delete Shift:=xlUp Next WS End If
If Range("h8") <> "x" Then For Each WS In Worksheets WS.Rows("126:126").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("124:124").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("121:122").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("123:124").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("121:121").Delete Shift:=xlUp Next WS End If
If Range("b16") = "x" Then For Each WS In Worksheets WS.Rows("122:124").Delete Shift:=xlUp Next WS End If
If Range("b15") = "x" Then For Each WS In Worksheets WS.Rows("121:124").Delete Shift:=xlUp Next WS End If
If Range("b14") = "x" Then For Each WS In Worksheets WS.Rows("94:95").Delete Shift:=xlUp Next WS End If
If Range("b13") = "x" Then For Each WS In Worksheets WS.Rows("92:93").Delete Shift:=xlUp Next WS End If
If Range("b12") = "x" Then For Each WS In Worksheets WS.Rows("91:119").Delete Shift:=xlUp Next WS End If
If Range("b11") = "x" Then For Each WS In Worksheets WS.Rows("87:88").Delete Shift:=xlUp Next WS End If
If Range("b10") = "x" Then For Each WS In Worksheets WS.Rows("89:90").Delete Shift:=xlUp Next WS End If
If Range("h10") <> "x" Then For Each WS In Worksheets WS.Rows("78:78").Delete Shift:=xlUp Next WS End If
If Range("h18") = "16" Then For Each WS In Worksheets WS.Rows("74:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "14" Then For Each WS In Worksheets WS.Rows("72:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "12" Then For Each WS In Worksheets WS.Rows("70:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "10" Then For Each WS In Worksheets WS.Rows("68:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "8" Then For Each WS In Worksheets WS.Rows("66:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "6" Then For Each WS In Worksheets WS.Rows("64:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "4" Then For Each WS In Worksheets WS.Rows("62:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "2" Then For Each WS In Worksheets WS.Rows("60:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "0" Then For Each WS In Worksheets WS.Rows("58:75").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("56:57").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("52:53").Delete Shift:=xlUp Next WS End If
If Range("b8") = "x" Then For Each WS In Worksheets WS.Rows("54:57").Delete Shift:=xlUp Next WS End If
If Range("b7") = "x" Then For Each WS In Worksheets WS.Rows("52:55").Delete Shift:=xlUp Next WS End If
If Range("H6") <> "x" Then For Each WS In Worksheets WS.Rows("49:49").Delete Shift:=xlUp Next WS End If
If Range("H5") <> "x" Then For Each WS In Worksheets WS.Rows("48:48").Delete Shift:=xlUp Next WS End If
If Range("H4") <> "x" Then For Each WS In Worksheets WS.Rows("47:47").Delete Shift:=xlUp Next WS End If
If Range("b5") = "x" Then Range("C31").Select Selection.Interior.ColorIndex = xlNone Range("C32").Select Selection.Interior.ColorIndex = xlNone Range("C42").Select Selection.Interior.ColorIndex = xlNone Range("C43").Select Selection.Interior.ColorIndex = xlNone Range("C44").Select Selection.Interior.ColorIndex = xlNone Range("C45").Select Selection.Interior.ColorIndex = xlNone Range("C46").Select Selection.Interior.ColorIndex = xlNone End If
If Range("b5") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("b4") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("h9") <> "x" Then For Each WS In Worksheets WS.Rows("30:30").Delete Shift:=xlUp Next WS End If
If Range("h7") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E7] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h11") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E11] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P7" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "5" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P6" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P5" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P4" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P3" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P2" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P1" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "16" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "14" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "12" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "10" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B1.1 H AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "8" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 G AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 F AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
End Sub
esteban
Esteban, the king of the long loop
En fait, dès que H19 = 8 ca ne fonctionne plus (si tu as du mal a comprendre ma macro étant donné que le forum a l'air de masquer certains éléments par des symboles, peux tu me donner une adresse email pr que je te l'envoi)
Cordialement
PS : tu croi qu'il peut s'emmélé les pinceaux avec toutes les royales loop que j'ai saisie ??? J'SpR que tu pourras m'aider, ca commence a me foutre les boules j'ai mis un max de temps a la fR!!!
Esteban, the king of the long loop
En fait, dès que H19 = 8 ca ne fonctionne plus (si tu as du mal a comprendre
ma macro étant donné que le forum a l'air de masquer certains éléments par
des symboles, peux tu me donner une adresse email pr que je te l'envoi)
Cordialement
PS : tu croi qu'il peut s'emmélé les pinceaux avec toutes les royales loop
que j'ai saisie ???
J'SpR que tu pourras m'aider, ca commence a me foutre les boules j'ai mis
un max de temps a la fR!!!
En fait, dès que H19 = 8 ca ne fonctionne plus (si tu as du mal a comprendre ma macro étant donné que le forum a l'air de masquer certains éléments par des symboles, peux tu me donner une adresse email pr que je te l'envoi)
Cordialement
PS : tu croi qu'il peut s'emmélé les pinceaux avec toutes les royales loop que j'ai saisie ??? J'SpR que tu pourras m'aider, ca commence a me foutre les boules j'ai mis un max de temps a la fR!!!
anonymousA
A+
Esteban, the king of the long loop
En fait, dès que H19 = 8 ca ne fonctionne plus (si tu as du mal a comprendre ma macro étant donné que le forum a l'air de masquer certains éléments par des symboles, peux tu me donner une adresse email pr que je te l'envoi)
Cordialement
PS : tu croi qu'il peut s'emmélé les pinceaux avec toutes les royales loop que j'ai saisie ??? J'SpR que tu pourras m'aider, ca commence a me foutre les boules j'ai mis un max de temps a la fR!!!
anonymousA@wanadoo.fr
A+
Esteban, the king of the long loop
En fait, dès que H19 = 8 ca ne fonctionne plus (si tu as du mal a comprendre
ma macro étant donné que le forum a l'air de masquer certains éléments par
des symboles, peux tu me donner une adresse email pr que je te l'envoi)
Cordialement
PS : tu croi qu'il peut s'emmélé les pinceaux avec toutes les royales loop
que j'ai saisie ???
J'SpR que tu pourras m'aider, ca commence a me foutre les boules j'ai mis
un max de temps a la fR!!!
En fait, dès que H19 = 8 ca ne fonctionne plus (si tu as du mal a comprendre ma macro étant donné que le forum a l'air de masquer certains éléments par des symboles, peux tu me donner une adresse email pr que je te l'envoi)
Cordialement
PS : tu croi qu'il peut s'emmélé les pinceaux avec toutes les royales loop que j'ai saisie ??? J'SpR que tu pourras m'aider, ca commence a me foutre les boules j'ai mis un max de temps a la fR!!!
Ricky
Bonjour *esteban* | peux tu me donner une adresse | email pr que je te l'envoi)
Pour rappel il existe aussi http://cjoint.com très pratique pour ce genre d'échange
-- Ricky [MVP] Visitez les faq.... http://www.faqoe.com http://faqword.free.fr http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Bonjour *esteban*
| peux tu me donner une adresse
| email pr que je te l'envoi)
Pour rappel il existe aussi http://cjoint.com très pratique pour ce genre d'échange
--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Bonjour *esteban* | peux tu me donner une adresse | email pr que je te l'envoi)
Pour rappel il existe aussi http://cjoint.com très pratique pour ce genre d'échange
-- Ricky [MVP] Visitez les faq.... http://www.faqoe.com http://faqword.free.fr http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Salut,
Je pense qu'il y a un problème de logique à ton code.
Disons que la deuxième condition soit vraie. La ligne 147 sera supprimée. À ce moment toutes les autres lignes remonteront d'une ligne.
Toujours selon le code, si la 3e condition est vraie, les lignes 151 et 152 seront supprimées, mais ce ne sont plus les mêmes lignes qu'au début puisqu'une ligne (147) a été supprimée entretemps. Ce seront donc les lignes 152 et 153 du départ qui seront supprimées.
Autre point: quand tu écris For Each Ws in Worksheets, ça inclut la feuille de départ. Est-ce bien ce que tu veux faire ? Sinon, il faudrait valider le nom de la feuille WS avant d'éliminer les lignes de ces feuilles. For Each WS In Worksheets if Ws.Name <> "Feuille de Départ" then WS.Rows("153:153").Delete Shift:=xlUp end if Next WS
Et finalement, pour éviter de répéter les mêmes lignes dans ton code, tu pourrais créer une fonction du genre
Sub EffaceLigne(Début, Fin) Dim Ws As Worksheet For Each Ws In Worksheets WS.Rows(Début & ":" & Fin).Delete Shift:=xlUp Next WS End sub
Ton code deviendrait If Range("h12") <> "x" Then EffaceLigne "153", "153" If Range("b25") = "x" Then EffaceLigne "147", "147" ..........
En espérant être clair dans ma réponse.
Michel
Bonjour a tout le forum!!
Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5 dernières formules et je ne sai pa pk??? SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then For Each WS In Worksheets WS.Rows("153:153").Delete Shift:=xlUp Next WS End If
If Range("b25") = "x" Then For Each WS In Worksheets WS.Rows("147:147").Delete Shift:=xlUp Next WS End If
If Range("b24") = "x" Then For Each WS In Worksheets WS.Rows("151:152").Delete Shift:=xlUp Next WS End If
If Range("b23") = "x" Then For Each WS In Worksheets WS.Rows("143:152").Delete Shift:=xlUp Next WS End If
If Range("b22") = "x" Then For Each WS In Worksheets WS.Rows("137:137").Delete Shift:=xlUp Next WS End If
If Range("b21") = "x" Then For Each WS In Worksheets WS.Rows("141:142").Delete Shift:=xlUp Next WS End If
If Range("b20") = "x" Then For Each WS In Worksheets WS.Rows("133:142").Delete Shift:=xlUp Next WS End If
If Range("b19") = "x" Then For Each WS In Worksheets WS.Rows("121:123").Delete Shift:=xlUp Next WS End If
If Range("h8") <> "x" Then For Each WS In Worksheets WS.Rows("126:126").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("124:124").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("121:122").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("123:124").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("121:121").Delete Shift:=xlUp Next WS End If
If Range("b16") = "x" Then For Each WS In Worksheets WS.Rows("122:124").Delete Shift:=xlUp Next WS End If
If Range("b15") = "x" Then For Each WS In Worksheets WS.Rows("121:124").Delete Shift:=xlUp Next WS End If
If Range("b14") = "x" Then For Each WS In Worksheets WS.Rows("94:95").Delete Shift:=xlUp Next WS End If
If Range("b13") = "x" Then For Each WS In Worksheets WS.Rows("92:93").Delete Shift:=xlUp Next WS End If
If Range("b12") = "x" Then For Each WS In Worksheets WS.Rows("91:119").Delete Shift:=xlUp Next WS End If
If Range("b11") = "x" Then For Each WS In Worksheets WS.Rows("87:88").Delete Shift:=xlUp Next WS End If
If Range("b10") = "x" Then For Each WS In Worksheets WS.Rows("89:90").Delete Shift:=xlUp Next WS End If
If Range("h10") <> "x" Then For Each WS In Worksheets WS.Rows("78:78").Delete Shift:=xlUp Next WS End If
If Range("h18") = "16" Then For Each WS In Worksheets WS.Rows("74:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "14" Then For Each WS In Worksheets WS.Rows("72:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "12" Then For Each WS In Worksheets WS.Rows("70:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "10" Then For Each WS In Worksheets WS.Rows("68:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "8" Then For Each WS In Worksheets WS.Rows("66:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "6" Then For Each WS In Worksheets WS.Rows("64:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "4" Then For Each WS In Worksheets WS.Rows("62:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "2" Then For Each WS In Worksheets WS.Rows("60:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "0" Then For Each WS In Worksheets WS.Rows("58:75").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("56:57").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("52:53").Delete Shift:=xlUp Next WS End If
If Range("b8") = "x" Then For Each WS In Worksheets WS.Rows("54:57").Delete Shift:=xlUp Next WS End If
If Range("b7") = "x" Then For Each WS In Worksheets WS.Rows("52:55").Delete Shift:=xlUp Next WS End If
If Range("H6") <> "x" Then For Each WS In Worksheets WS.Rows("49:49").Delete Shift:=xlUp Next WS End If
If Range("H5") <> "x" Then For Each WS In Worksheets WS.Rows("48:48").Delete Shift:=xlUp Next WS End If
If Range("H4") <> "x" Then For Each WS In Worksheets WS.Rows("47:47").Delete Shift:=xlUp Next WS End If
If Range("b5") = "x" Then Range("C31").Select Selection.Interior.ColorIndex = xlNone Range("C32").Select Selection.Interior.ColorIndex = xlNone Range("C42").Select Selection.Interior.ColorIndex = xlNone Range("C43").Select Selection.Interior.ColorIndex = xlNone Range("C44").Select Selection.Interior.ColorIndex = xlNone Range("C45").Select Selection.Interior.ColorIndex = xlNone Range("C46").Select Selection.Interior.ColorIndex = xlNone End If
If Range("b5") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("b4") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("h9") <> "x" Then For Each WS In Worksheets WS.Rows("30:30").Delete Shift:=xlUp Next WS End If
If Range("h7") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E7] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h11") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E11] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P7" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "5" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P6" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P5" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P4" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P3" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P2" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P1" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "16" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "14" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "12" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "10" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B1.1 H AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "8" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 G AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 F AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
End Sub
Salut,
Je pense qu'il y a un problème de logique à ton code.
Disons que la deuxième condition soit vraie.
La ligne 147 sera supprimée.
À ce moment toutes les autres lignes remonteront d'une ligne.
Toujours selon le code, si la 3e condition est vraie, les lignes 151 et
152 seront supprimées, mais ce ne sont plus les mêmes lignes qu'au début
puisqu'une ligne (147) a été supprimée entretemps. Ce seront donc les
lignes 152 et 153 du départ qui seront supprimées.
Autre point:
quand tu écris For Each Ws in Worksheets, ça inclut la feuille de départ.
Est-ce bien ce que tu veux faire ?
Sinon, il faudrait valider le nom de la feuille WS avant d'éliminer les
lignes de ces feuilles.
For Each WS In Worksheets
if Ws.Name <> "Feuille de Départ" then
WS.Rows("153:153").Delete Shift:=xlUp
end if
Next WS
Et finalement, pour éviter de répéter les mêmes lignes dans ton code, tu
pourrais créer une fonction du genre
Sub EffaceLigne(Début, Fin)
Dim Ws As Worksheet
For Each Ws In Worksheets
WS.Rows(Début & ":" & Fin).Delete Shift:=xlUp
Next WS
End sub
Ton code deviendrait
If Range("h12") <> "x" Then EffaceLigne "153", "153"
If Range("b25") = "x" Then EffaceLigne "147", "147"
..........
En espérant être clair dans ma réponse.
Michel
Bonjour a tout le forum!!
Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5
dernières formules et je ne sai pa pk???
SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop
longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then
For Each WS In Worksheets
WS.Rows("153:153").Delete Shift:=xlUp
Next WS
End If
If Range("b25") = "x" Then
For Each WS In Worksheets
WS.Rows("147:147").Delete Shift:=xlUp
Next WS
End If
If Range("b24") = "x" Then
For Each WS In Worksheets
WS.Rows("151:152").Delete Shift:=xlUp
Next WS
End If
If Range("b23") = "x" Then
For Each WS In Worksheets
WS.Rows("143:152").Delete Shift:=xlUp
Next WS
End If
If Range("b22") = "x" Then
For Each WS In Worksheets
WS.Rows("137:137").Delete Shift:=xlUp
Next WS
End If
If Range("b21") = "x" Then
For Each WS In Worksheets
WS.Rows("141:142").Delete Shift:=xlUp
Next WS
End If
If Range("b20") = "x" Then
For Each WS In Worksheets
WS.Rows("133:142").Delete Shift:=xlUp
Next WS
End If
If Range("b19") = "x" Then
For Each WS In Worksheets
WS.Rows("121:123").Delete Shift:=xlUp
Next WS
End If
If Range("h8") <> "x" Then
For Each WS In Worksheets
WS.Rows("126:126").Delete Shift:=xlUp
Next WS
End If
If Range("b18") = "x" Then
For Each WS In Worksheets
WS.Rows("124:124").Delete Shift:=xlUp
Next WS
End If
If Range("b18") = "x" Then
For Each WS In Worksheets
WS.Rows("121:122").Delete Shift:=xlUp
Next WS
End If
If Range("b17") = "x" Then
For Each WS In Worksheets
WS.Rows("123:124").Delete Shift:=xlUp
Next WS
End If
If Range("b17") = "x" Then
For Each WS In Worksheets
WS.Rows("121:121").Delete Shift:=xlUp
Next WS
End If
If Range("b16") = "x" Then
For Each WS In Worksheets
WS.Rows("122:124").Delete Shift:=xlUp
Next WS
End If
If Range("b15") = "x" Then
For Each WS In Worksheets
WS.Rows("121:124").Delete Shift:=xlUp
Next WS
End If
If Range("b14") = "x" Then
For Each WS In Worksheets
WS.Rows("94:95").Delete Shift:=xlUp
Next WS
End If
If Range("b13") = "x" Then
For Each WS In Worksheets
WS.Rows("92:93").Delete Shift:=xlUp
Next WS
End If
If Range("b12") = "x" Then
For Each WS In Worksheets
WS.Rows("91:119").Delete Shift:=xlUp
Next WS
End If
If Range("b11") = "x" Then
For Each WS In Worksheets
WS.Rows("87:88").Delete Shift:=xlUp
Next WS
End If
If Range("b10") = "x" Then
For Each WS In Worksheets
WS.Rows("89:90").Delete Shift:=xlUp
Next WS
End If
If Range("h10") <> "x" Then
For Each WS In Worksheets
WS.Rows("78:78").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "16" Then
For Each WS In Worksheets
WS.Rows("74:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "14" Then
For Each WS In Worksheets
WS.Rows("72:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "12" Then
For Each WS In Worksheets
WS.Rows("70:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "10" Then
For Each WS In Worksheets
WS.Rows("68:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "8" Then
For Each WS In Worksheets
WS.Rows("66:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "6" Then
For Each WS In Worksheets
WS.Rows("64:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "4" Then
For Each WS In Worksheets
WS.Rows("62:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "2" Then
For Each WS In Worksheets
WS.Rows("60:75").Delete Shift:=xlUp
Next WS
End If
If Range("h18") = "0" Then
For Each WS In Worksheets
WS.Rows("58:75").Delete Shift:=xlUp
Next WS
End If
If Range("b9") = "x" Then
For Each WS In Worksheets
WS.Rows("56:57").Delete Shift:=xlUp
Next WS
End If
If Range("b9") = "x" Then
For Each WS In Worksheets
WS.Rows("52:53").Delete Shift:=xlUp
Next WS
End If
If Range("b8") = "x" Then
For Each WS In Worksheets
WS.Rows("54:57").Delete Shift:=xlUp
Next WS
End If
If Range("b7") = "x" Then
For Each WS In Worksheets
WS.Rows("52:55").Delete Shift:=xlUp
Next WS
End If
If Range("H6") <> "x" Then
For Each WS In Worksheets
WS.Rows("49:49").Delete Shift:=xlUp
Next WS
End If
If Range("H5") <> "x" Then
For Each WS In Worksheets
WS.Rows("48:48").Delete Shift:=xlUp
Next WS
End If
If Range("H4") <> "x" Then
For Each WS In Worksheets
WS.Rows("47:47").Delete Shift:=xlUp
Next WS
End If
If Range("b5") = "x" Then
Range("C31").Select
Selection.Interior.ColorIndex = xlNone
Range("C32").Select
Selection.Interior.ColorIndex = xlNone
Range("C42").Select
Selection.Interior.ColorIndex = xlNone
Range("C43").Select
Selection.Interior.ColorIndex = xlNone
Range("C44").Select
Selection.Interior.ColorIndex = xlNone
Range("C45").Select
Selection.Interior.ColorIndex = xlNone
Range("C46").Select
Selection.Interior.ColorIndex = xlNone
End If
If Range("b5") = "x" Then
For Each WS In Worksheets
WS.Rows("37:41").Delete Shift:=xlUp
Next WS
End If
If Range("b4") = "x" Then
For Each WS In Worksheets
WS.Rows("37:41").Delete Shift:=xlUp
Next WS
End If
If Range("h9") <> "x" Then
For Each WS In Worksheets
WS.Rows("30:30").Delete Shift:=xlUp
Next WS
End If
If Range("h7") <> "x" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = [E7] Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h11") <> "x" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = [E11] Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "6" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P7" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "5" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P6" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "4" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P5" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P4" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P3" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P2" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h15") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "P1" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 4 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 3 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 2 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h16") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 1 P2A" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "3" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 4 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 3 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "1" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 2 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h17") <= "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "I 1 P2B" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "16" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 E ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "14" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 D ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "12" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.2 C ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "10" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B1.1 H AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "8" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 G AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "6" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 F AVT" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "4" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 E ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "2" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 D ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
If Range("h19") = "0" Then
For ligne = 1 To [A65000].End(xlUp).Row
If Cells(ligne, 1) = "B 1.1 C ARR" Then
For Each WS In Worksheets
WS.Rows(ligne).Delete
Next WS
End If
Next
End If
Je pense qu'il y a un problème de logique à ton code.
Disons que la deuxième condition soit vraie. La ligne 147 sera supprimée. À ce moment toutes les autres lignes remonteront d'une ligne.
Toujours selon le code, si la 3e condition est vraie, les lignes 151 et 152 seront supprimées, mais ce ne sont plus les mêmes lignes qu'au début puisqu'une ligne (147) a été supprimée entretemps. Ce seront donc les lignes 152 et 153 du départ qui seront supprimées.
Autre point: quand tu écris For Each Ws in Worksheets, ça inclut la feuille de départ. Est-ce bien ce que tu veux faire ? Sinon, il faudrait valider le nom de la feuille WS avant d'éliminer les lignes de ces feuilles. For Each WS In Worksheets if Ws.Name <> "Feuille de Départ" then WS.Rows("153:153").Delete Shift:=xlUp end if Next WS
Et finalement, pour éviter de répéter les mêmes lignes dans ton code, tu pourrais créer une fonction du genre
Sub EffaceLigne(Début, Fin) Dim Ws As Worksheet For Each Ws In Worksheets WS.Rows(Début & ":" & Fin).Delete Shift:=xlUp Next WS End sub
Ton code deviendrait If Range("h12") <> "x" Then EffaceLigne "153", "153" If Range("b25") = "x" Then EffaceLigne "147", "147" ..........
En espérant être clair dans ma réponse.
Michel
Bonjour a tout le forum!!
Excusez moi, j'ai un peti pb avec ma macro, en fait, elle n'exécute pa les 5 dernières formules et je ne sai pa pk??? SVP est-ce que qqun pourrait m'éclairer sur la question? (est-elle trop longue? ...)
(excusez moi pour la longueur!)
Mer ci par avance
Sub combinaison()
Dim WS As Variant
If Range("h12") <> "x" Then For Each WS In Worksheets WS.Rows("153:153").Delete Shift:=xlUp Next WS End If
If Range("b25") = "x" Then For Each WS In Worksheets WS.Rows("147:147").Delete Shift:=xlUp Next WS End If
If Range("b24") = "x" Then For Each WS In Worksheets WS.Rows("151:152").Delete Shift:=xlUp Next WS End If
If Range("b23") = "x" Then For Each WS In Worksheets WS.Rows("143:152").Delete Shift:=xlUp Next WS End If
If Range("b22") = "x" Then For Each WS In Worksheets WS.Rows("137:137").Delete Shift:=xlUp Next WS End If
If Range("b21") = "x" Then For Each WS In Worksheets WS.Rows("141:142").Delete Shift:=xlUp Next WS End If
If Range("b20") = "x" Then For Each WS In Worksheets WS.Rows("133:142").Delete Shift:=xlUp Next WS End If
If Range("b19") = "x" Then For Each WS In Worksheets WS.Rows("121:123").Delete Shift:=xlUp Next WS End If
If Range("h8") <> "x" Then For Each WS In Worksheets WS.Rows("126:126").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("124:124").Delete Shift:=xlUp Next WS End If
If Range("b18") = "x" Then For Each WS In Worksheets WS.Rows("121:122").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("123:124").Delete Shift:=xlUp Next WS End If
If Range("b17") = "x" Then For Each WS In Worksheets WS.Rows("121:121").Delete Shift:=xlUp Next WS End If
If Range("b16") = "x" Then For Each WS In Worksheets WS.Rows("122:124").Delete Shift:=xlUp Next WS End If
If Range("b15") = "x" Then For Each WS In Worksheets WS.Rows("121:124").Delete Shift:=xlUp Next WS End If
If Range("b14") = "x" Then For Each WS In Worksheets WS.Rows("94:95").Delete Shift:=xlUp Next WS End If
If Range("b13") = "x" Then For Each WS In Worksheets WS.Rows("92:93").Delete Shift:=xlUp Next WS End If
If Range("b12") = "x" Then For Each WS In Worksheets WS.Rows("91:119").Delete Shift:=xlUp Next WS End If
If Range("b11") = "x" Then For Each WS In Worksheets WS.Rows("87:88").Delete Shift:=xlUp Next WS End If
If Range("b10") = "x" Then For Each WS In Worksheets WS.Rows("89:90").Delete Shift:=xlUp Next WS End If
If Range("h10") <> "x" Then For Each WS In Worksheets WS.Rows("78:78").Delete Shift:=xlUp Next WS End If
If Range("h18") = "16" Then For Each WS In Worksheets WS.Rows("74:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "14" Then For Each WS In Worksheets WS.Rows("72:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "12" Then For Each WS In Worksheets WS.Rows("70:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "10" Then For Each WS In Worksheets WS.Rows("68:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "8" Then For Each WS In Worksheets WS.Rows("66:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "6" Then For Each WS In Worksheets WS.Rows("64:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "4" Then For Each WS In Worksheets WS.Rows("62:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "2" Then For Each WS In Worksheets WS.Rows("60:75").Delete Shift:=xlUp Next WS End If
If Range("h18") = "0" Then For Each WS In Worksheets WS.Rows("58:75").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("56:57").Delete Shift:=xlUp Next WS End If
If Range("b9") = "x" Then For Each WS In Worksheets WS.Rows("52:53").Delete Shift:=xlUp Next WS End If
If Range("b8") = "x" Then For Each WS In Worksheets WS.Rows("54:57").Delete Shift:=xlUp Next WS End If
If Range("b7") = "x" Then For Each WS In Worksheets WS.Rows("52:55").Delete Shift:=xlUp Next WS End If
If Range("H6") <> "x" Then For Each WS In Worksheets WS.Rows("49:49").Delete Shift:=xlUp Next WS End If
If Range("H5") <> "x" Then For Each WS In Worksheets WS.Rows("48:48").Delete Shift:=xlUp Next WS End If
If Range("H4") <> "x" Then For Each WS In Worksheets WS.Rows("47:47").Delete Shift:=xlUp Next WS End If
If Range("b5") = "x" Then Range("C31").Select Selection.Interior.ColorIndex = xlNone Range("C32").Select Selection.Interior.ColorIndex = xlNone Range("C42").Select Selection.Interior.ColorIndex = xlNone Range("C43").Select Selection.Interior.ColorIndex = xlNone Range("C44").Select Selection.Interior.ColorIndex = xlNone Range("C45").Select Selection.Interior.ColorIndex = xlNone Range("C46").Select Selection.Interior.ColorIndex = xlNone End If
If Range("b5") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("b4") = "x" Then For Each WS In Worksheets WS.Rows("37:41").Delete Shift:=xlUp Next WS End If
If Range("h9") <> "x" Then For Each WS In Worksheets WS.Rows("30:30").Delete Shift:=xlUp Next WS End If
If Range("h7") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E7] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h11") <> "x" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = [E11] Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P7" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "5" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P6" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P5" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P4" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P3" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P2" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h15") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "P1" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h16") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2A" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "3" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 4 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 3 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "1" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 2 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h17") <= "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "I 1 P2B" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "16" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "14" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "12" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.2 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "10" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B1.1 H AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "8" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 G AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "6" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 F AVT" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "4" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 E ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "2" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 D ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If
If Range("h19") = "0" Then For ligne = 1 To [A65000].End(xlUp).Row If Cells(ligne, 1) = "B 1.1 C ARR" Then For Each WS In Worksheets WS.Rows(ligne).Delete Next WS End If Next End If