Bonjour,
Tout d'abord désolé si un sujet comme celui-ci a déjà été posté, je suis novice de ce forum, et n'ai pas trouvé la réponse à mon problème avec la fonction recherche.
Je tiens à préciser également que je suis encore peu expérimenté sur VBA, il se peut que je n'ai pas bien compris certaines notions.
Voici mon problème :
J'ai un fichier Excel qui possède des feuilles masquées, dont certaines précises que je souhaiterais supprimer.
Je ne veux supprimer que les feuilles masquées qui sont nommées de la façon "G-Rapport " & i & "." & y , i et y étant deux variables numériques.
Voici le code que j'ai écrit. Le problème est que ce code ne fonctionne qu'une fois.
En effet, une fois une première feuille supprimée, le passage dans les boucles s'effectue, mais au moment de supprimer une seconde feuille qui répond aux conditions (donc sur le "Sheet.delete") un message d'erreur apparaît : "Erreur d'exécution -21472...." Erreur automation
Il faut absolument que le passage dans les deux boucles i et y s'effectue car je dois supprimer TOUTES les feuilles qui répondent à ces conditions, et uniquement celles-là (qui sont masquées).
Si vous avez une idée du pourquoi du comment, j'aimerais comprendre pourquoi le code s'exécute une fois normalement, mais pas ensuite. Et que signifie ce message d'erreur ?
Merci d'avance !
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
17
18
19
20
21
22 Sub delete() Application.DisplayAlerts = False Dim Sheet As Excel.Worksheet Dim i As Integer Dim y As Integer i = 1 y = 2013 For Each Sheet In ThisWorkbook.Worksheets If Sheet.Visible = False Then For i = 1 To 3 For y = 2013 To 2014 If Sheet.Name = "G-Rapport " & i & "." & y Then Sheet.delete End If Next Next End If Next Sheet End Sub
Cordialement.
Partager