OVH Cloud OVH Cloud

prob d'exécution de macro!

5 réponses
Avatar
esteban
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

5 réponses

Avatar
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



Avatar
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!!!
Avatar
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!!!


Avatar
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
Avatar
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