Bonjour à tous,
J'ai le code suivant qui est bon
(en gros, il supprime les lignes en fonction de la présence ou non d'éléments en ligne C et I, en partant de la fin jusqu'au début)
Simplement sur certaines de ces lignes il existe une zone combinée que je veux supprimer (elle porte le numéro de ligne i et devrait être supprimé par le code souligné).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub RowsDelete2() Dim derniereligne As Long, i As Long derniereligne = Sheets("SAISIE").Range("C" & Rows.Count).End(xlUp).Row Sheets("SAISIE").Select For i = derniereligne To 2 Step -1 If ActiveSheet.Range("C" & i).Value <> "" And ActiveSheet.Range("I" & i).Value = "0" Then ActiveSheet.Shapes("Zone combinée " & i).Delete ActiveSheet.Rows(i).EntireRow.Delete End If Next i End Sub
Mais comme ces zones combinées ne sont pas présentes à chaque fois, il me renvoie un message d'erreur, dès le test des premiers lignes qui ne contiennent justement pas de zones combinées, puisque pour excel ces zones sont introuvables.
Il faudrait donc que je teste l'existence / la présence d'une zone combinée sur la ligne i (If ?) et qu'ensuite si présence il y a, le code souligné s'exécute.
Je ne sais pas gérer cette situation.
Merci de votre aide.
Partager