On Error GoTo 221
Sheets("4+2").Select
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("4+2").Delete
221:
On Error GoTo 222
Sheets("4CS").Select
If Range("B4").Value = "" Then Sheets("4CS").Delete
222:
On Error GoTo 223
Sheets("10+2").Select
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("10+2").Delete
223:
On Error GoTo 224
Sheets("17+3").Select
If Range("B4").Value = "" Then Sheets("17+3").Delete
224:
On Error GoTo 225
Sheets("20CS").Select
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("20CS").Delete
Mon problème : lorsque la feuille 4+2 n'existe pas, là ok la macro
poursuit sa route en 221 et en arrivant à la 17+3 (qui n'existe pas
non plus) là, erreur : l'indice n'appartient pas a la selection
alors qu'il devrait aller en 224 non ?
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
michdenis
Bonjour Michael,
C'est une façon assez singulière de vouloir programmer par la gestion d'erreur !
Si tu expliquais ce que tu veux faire, il y a probablement des alternatives à ce que je présente !
Voici une façon de faire si tu veux gérer la procédure par une gestion d'erreur. Évidemment, j'ai seulement initié le déroulement de la procédure, tu devrais la poursuivre pour la totalité de tes feuilles.
Pas tester... '-------------------------------------- Sub supprfeuilles()
On Error Resume Next Sheets("4+2").Select If Err = 0 Then If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("4+2").Delete Else Err = 0 Sheets("4CS").Select If Err = 0 Then If Range("B4").Value = "" Then Sheets("4CS").Delete Else Err = 0 Sheets("10+2").Select If Err = 0 Then If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("10+2").Delete Else Err = 0 End If End If End If
End Sub '--------------------------------------
Salutations!
"Michael" a écrit dans le message de news:
Rerebonjour à tous !
Voici mon code qui me pose un bon probleme :
sub supprfeuilles
On Error GoTo 221 Sheets("4+2").Select If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("4+2").Delete
221: On Error GoTo 222 Sheets("4CS").Select If Range("B4").Value = "" Then Sheets("4CS").Delete
222: On Error GoTo 223 Sheets("10+2").Select If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("10+2").Delete
223: On Error GoTo 224 Sheets("17+3").Select If Range("B4").Value = "" Then Sheets("17+3").Delete
224: On Error GoTo 225 Sheets("20CS").Select If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("20CS").Delete
Mon problème : lorsque la feuille 4+2 n'existe pas, là ok la macro poursuit sa route en 221 et en arrivant à la 17+3 (qui n'existe pas non plus) là, erreur : l'indice n'appartient pas a la selection alors qu'il devrait aller en 224 non ?
Merci à celui ou celle qui pourra m'aider !
Bonjour Michael,
C'est une façon assez singulière de vouloir programmer par la gestion d'erreur !
Si tu expliquais ce que tu veux faire, il y a probablement des alternatives à ce que je présente !
Voici une façon de faire si tu veux gérer la procédure par une gestion d'erreur. Évidemment, j'ai seulement initié le déroulement de
la procédure, tu devrais la poursuivre pour la totalité de tes feuilles.
Pas tester...
'--------------------------------------
Sub supprfeuilles()
On Error Resume Next
Sheets("4+2").Select
If Err = 0 Then
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("4+2").Delete
Else
Err = 0
Sheets("4CS").Select
If Err = 0 Then
If Range("B4").Value = "" Then Sheets("4CS").Delete
Else
Err = 0
Sheets("10+2").Select
If Err = 0 Then
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("10+2").Delete
Else
Err = 0
End If
End If
End If
End Sub
'--------------------------------------
Salutations!
"Michael" <michael_bas@yahoo.fr> a écrit dans le message de news: uEospVA0FHA.3856@tk2msftngp13.phx.gbl...
Rerebonjour à tous !
Voici mon code qui me pose un bon probleme :
sub supprfeuilles
On Error GoTo 221
Sheets("4+2").Select
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("4+2").Delete
221:
On Error GoTo 222
Sheets("4CS").Select
If Range("B4").Value = "" Then Sheets("4CS").Delete
222:
On Error GoTo 223
Sheets("10+2").Select
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("10+2").Delete
223:
On Error GoTo 224
Sheets("17+3").Select
If Range("B4").Value = "" Then Sheets("17+3").Delete
224:
On Error GoTo 225
Sheets("20CS").Select
If Range("B53").Value = "" Then supprdeuxiemefeuille
If Range("B4").Value = "" Then Sheets("20CS").Delete
Mon problème : lorsque la feuille 4+2 n'existe pas, là ok la macro
poursuit sa route en 221 et en arrivant à la 17+3 (qui n'existe pas
non plus) là, erreur : l'indice n'appartient pas a la selection
alors qu'il devrait aller en 224 non ?
C'est une façon assez singulière de vouloir programmer par la gestion d'erreur !
Si tu expliquais ce que tu veux faire, il y a probablement des alternatives à ce que je présente !
Voici une façon de faire si tu veux gérer la procédure par une gestion d'erreur. Évidemment, j'ai seulement initié le déroulement de la procédure, tu devrais la poursuivre pour la totalité de tes feuilles.
Pas tester... '-------------------------------------- Sub supprfeuilles()
On Error Resume Next Sheets("4+2").Select If Err = 0 Then If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("4+2").Delete Else Err = 0 Sheets("4CS").Select If Err = 0 Then If Range("B4").Value = "" Then Sheets("4CS").Delete Else Err = 0 Sheets("10+2").Select If Err = 0 Then If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("10+2").Delete Else Err = 0 End If End If End If
End Sub '--------------------------------------
Salutations!
"Michael" a écrit dans le message de news:
Rerebonjour à tous !
Voici mon code qui me pose un bon probleme :
sub supprfeuilles
On Error GoTo 221 Sheets("4+2").Select If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("4+2").Delete
221: On Error GoTo 222 Sheets("4CS").Select If Range("B4").Value = "" Then Sheets("4CS").Delete
222: On Error GoTo 223 Sheets("10+2").Select If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("10+2").Delete
223: On Error GoTo 224 Sheets("17+3").Select If Range("B4").Value = "" Then Sheets("17+3").Delete
224: On Error GoTo 225 Sheets("20CS").Select If Range("B53").Value = "" Then supprdeuxiemefeuille If Range("B4").Value = "" Then Sheets("20CS").Delete
Mon problème : lorsque la feuille 4+2 n'existe pas, là ok la macro poursuit sa route en 221 et en arrivant à la 17+3 (qui n'existe pas non plus) là, erreur : l'indice n'appartient pas a la selection alors qu'il devrait aller en 224 non ?
Merci à celui ou celle qui pourra m'aider !
Michael
Merci michdenis ! ça fonctionne à merveille apres nombreux essais
Bonne soirée !
Merci michdenis ! ça fonctionne à merveille apres nombreux essais
Merci michdenis ! ça fonctionne à merveille apres nombreux essais
Bonne soirée !
Philippe Noss
Bonsoir Je viens un fois que la solution semble etre trouvée mais il me semble qu'une macro du type de celle ci dessous aurait fonctionnée. Bon, je ne sais pas ce que fait supprdeuxiemefeuille. mais Comme je suis paresseux, j'aime bien limiter le code ...
Sub testsup() Application.DisplayAlerts = False
On Error Resume Next With Sheets("4+2") If Sheets("4+2").Range("B53").Value = "" Then supprdeuxiemefeuille If .Range("B4").Value = "" Then .Delete End With With Sheets("4+ccc") 'If .Range("B53").Value = "" Then supprdeuxiemefeuille If .Range("B4").Value = "" Then .Delete End With With Sheets("2+45") If .Range("B53").Value = "" Then supprdeuxiemefeuille If .Range("B4").Value = "" Then .Delete End With 'etc , etc
Application.DisplayAlerts = True End Sub
Philippe N http://nossphil.perso.cegetel.net/exoutils.html
Bonsoir
Je viens un fois que la solution semble etre trouvée
mais il me semble qu'une macro du type de celle ci dessous aurait
fonctionnée. Bon, je ne sais pas ce que fait supprdeuxiemefeuille.
mais Comme je suis paresseux, j'aime bien limiter le code ...
Sub testsup()
Application.DisplayAlerts = False
On Error Resume Next
With Sheets("4+2")
If Sheets("4+2").Range("B53").Value = "" Then supprdeuxiemefeuille
If .Range("B4").Value = "" Then .Delete
End With
With Sheets("4+ccc")
'If .Range("B53").Value = "" Then supprdeuxiemefeuille
If .Range("B4").Value = "" Then .Delete
End With
With Sheets("2+45")
If .Range("B53").Value = "" Then supprdeuxiemefeuille
If .Range("B4").Value = "" Then .Delete
End With
'etc , etc
Application.DisplayAlerts = True
End Sub
Philippe N
http://nossphil.perso.cegetel.net/exoutils.html
Bonsoir Je viens un fois que la solution semble etre trouvée mais il me semble qu'une macro du type de celle ci dessous aurait fonctionnée. Bon, je ne sais pas ce que fait supprdeuxiemefeuille. mais Comme je suis paresseux, j'aime bien limiter le code ...
Sub testsup() Application.DisplayAlerts = False
On Error Resume Next With Sheets("4+2") If Sheets("4+2").Range("B53").Value = "" Then supprdeuxiemefeuille If .Range("B4").Value = "" Then .Delete End With With Sheets("4+ccc") 'If .Range("B53").Value = "" Then supprdeuxiemefeuille If .Range("B4").Value = "" Then .Delete End With With Sheets("2+45") If .Range("B53").Value = "" Then supprdeuxiemefeuille If .Range("B4").Value = "" Then .Delete End With 'etc , etc
Application.DisplayAlerts = True End Sub
Philippe N http://nossphil.perso.cegetel.net/exoutils.html