Suppression de feuilles par VBA
Résolu
Guy_L
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai utilisé un code trouvé sur le Net pour supprimer des feuilles si existantes dans mon fichier, mais ça n'a aucun effet, voici le script
Merci
J'ai utilisé un code trouvé sur le Net pour supprimer des feuilles si existantes dans mon fichier, mais ça n'a aucun effet, voici le script
Public Function FeuilExiste(F As String) As Boolean On Error GoTo Err_FeuilExiste FeuilExiste = False FeuilExiste = Not ActiveWorkbook.Worksheets(F) Is Nothing Err_FeuilExiste: End Function Sub Suppression() If FeuilExiste("Alpha(2)") Then Application.DisplayAlerts = False Sheets("Alpha(2)").Select Sheets("Alpha(2)").Delete Application.DisplayAlerts = True Else End If If FeuilExiste("Beta(2)") Then Application.DisplayAlerts = False Sheets("Beta(2)").Select Sheets("Beta(2)").Delete Application.DisplayAlerts = True Else End If End Sub
Merci
Configuration: Windows / Firefox 81.0
A voir également:
- Suppression de feuilles par VBA
- Forcer suppression fichier - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Bruler des feuilles de laurier - Guide
- Suppression compte gmail - Guide
- Fusionner feuilles excel - Guide
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
à ta place, je ferais plutôt ainsi:
à ta place, je ferais plutôt ainsi:
If FeuilExiste("Alpha(2)") Then Application.DisplayAlerts = False Sheets("Alpha(2)").Delete Application.DisplayAlerts = True Else msgbox "Alpha(2) est absent" End If
C'est comme ça que je l'avais d'abord écrit (sans la partie Else, qui, dans mon cas, n'est pas nécessaire), et comme ça ne fonctionnait pas, j'ai supposé qu'il fallait ajouter la sélection de la feuille. Hélas, ça ne suffit toujours pas.
que se passe-t'il quand tu testes ceci?
Sub Suppression() If FeuilExiste("Alpha(2)") Then Application.DisplayAlerts = False Sheets("Alpha(2)").Delete Application.DisplayAlerts = True MsgBox "Alpha(2) est supprimé" Else MsgBox "Alpha(2) est absent" End If If FeuilExiste("Beta(2)") Then Application.DisplayAlerts = False Sheets("Beta(2)").Delete Application.DisplayAlerts = True MsgBox "Beta(2) est supprimé" Else MsgBox "Beta(2) est absent" End If End Sub
merci yg, grâce à ton post, j'ai compris ce qui n'allait pas: quand on fait une copie de feuille, le nouveau nom n'est pas Alpha(2) mais Alpha (2) (avec un espace), d'où le fait que la macro ne détectait pas la feuille.
Merci encore
Merci encore
Qui vous dit que je n'ai pas essayé ?
C'est comme ça que j'ai vu mon erreur justement puisque la Box renvoyait "Alpha(2) est absent".
Il le semble même avoir dit merci pour cela.
Attention à ne pas décourager les novices, c'est la meilleure façon de les écarter du monde des participants à un forum. En se montrant présomptueux, on risque le braquage (heureusement, j'ai passé l'âge).
C'est comme ça que j'ai vu mon erreur justement puisque la Box renvoyait "Alpha(2) est absent".
Il le semble même avoir dit merci pour cela.
Attention à ne pas décourager les novices, c'est la meilleure façon de les écarter du monde des participants à un forum. En se montrant présomptueux, on risque le braquage (heureusement, j'ai passé l'âge).
Il me semble clair, dans ton message du 29 sept. 2020 à 20:00, que tu n'avais pas essayé ma suggestion de 13h.
Tenant compte du comportement que j'ai parfois observé chez certains novices, je t'ai donné une seconde et dernière chance, et t'ai donc demandé plus explicitement de tester ma suggestion.
Trouves-tu présomptueux d'attendre un peu de respect, et que les suggestions faites soient prises au sérieux, et testées?
Que de plus présomptueux, presque arrogant, que d'écrire "dans mon cas, n'est pas nécessaire", alors que c'était la première chose à faire. En tous cas, de l'aveuglement caractérisé.
Je pense que l'humilité aide à progresser, tout autant que se poser des question et se remettre en cause.
Tenant compte du comportement que j'ai parfois observé chez certains novices, je t'ai donné une seconde et dernière chance, et t'ai donc demandé plus explicitement de tester ma suggestion.
Trouves-tu présomptueux d'attendre un peu de respect, et que les suggestions faites soient prises au sérieux, et testées?
Que de plus présomptueux, presque arrogant, que d'écrire "dans mon cas, n'est pas nécessaire", alors que c'était la première chose à faire. En tous cas, de l'aveuglement caractérisé.
Je pense que l'humilité aide à progresser, tout autant que se poser des question et se remettre en cause.
Je ne comprends pas cette colère qui n'a aucun sens ni sa place dans un échange cordial.
Ce qui m'a fait "bondir" c'est cette remarque :
"en plus, persister à ne pas essayer, ... "
qui est fausse et déplacée, car présomptueuse (vous ne saviez même pas si j'avais essayé).
En plus elle a un côté agressif (persister) qui ne pouvait que susciter chez moi une réaction négative.
C'est dommage car vous m'avez pourtant sorti d'une impasse, mais ce comportement hautain vient nettement polluer un échange qui se voulait courtois.
Je suis déçu
un dernier mot concernant "Il me semble clair, dans ton message du 29 sept. 2020 à 20:00, que tu n'avais pas essayé ma suggestion de 13h." Je ne sais pas pour vous, mais après une journée de travail, à 20h, je n'avais effectivement pas eu le temps de tester. Mais de là à s'emporter avec une attitude agressive à mon égard ...
Ce qui m'a fait "bondir" c'est cette remarque :
"en plus, persister à ne pas essayer, ... "
qui est fausse et déplacée, car présomptueuse (vous ne saviez même pas si j'avais essayé).
En plus elle a un côté agressif (persister) qui ne pouvait que susciter chez moi une réaction négative.
C'est dommage car vous m'avez pourtant sorti d'une impasse, mais ce comportement hautain vient nettement polluer un échange qui se voulait courtois.
Je suis déçu
un dernier mot concernant "Il me semble clair, dans ton message du 29 sept. 2020 à 20:00, que tu n'avais pas essayé ma suggestion de 13h." Je ne sais pas pour vous, mais après une journée de travail, à 20h, je n'avais effectivement pas eu le temps de tester. Mais de là à s'emporter avec une attitude agressive à mon égard ...