Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression de feuille

10 réponses
Avatar
Patrick
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens », qui
fonctionne très bien dans le but de supprimer la dernière feuille créée lors
d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro

Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick

10 réponses

Avatar
claude
salut Patrick
si tu ajoutes un


if msgbox("Voulez-vous vraiment supprimer la dernière feuille ?", vbyesno +
vbquestion, "Salut") =vbyes then
Sheets(ThisWorkbook.DerniereFeuille).Delete
end if
si la réponse est non, il ne se passe rien
;-)
claude



"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens »,
qui fonctionne très bien dans le but de supprimer la dernière feuille
créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro

Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick






Avatar
Patrick
Merci Claude
Mais ce n'est pas ce que j'attends.
Je souhaite que ma procédure automatise l'action de "supprimer" sans avoir
aucune autre action à faire.
Et dans ton code, j'ai en plus une nouvelle msbox.

Cordialement
Patrick


"claude" a écrit dans le message de news:
49a7ba6f$0$3520$
salut Patrick
si tu ajoutes un


if msgbox("Voulez-vous vraiment supprimer la dernière feuille ?", vbyesno
+ vbquestion, "Salut") =vbyes then
Sheets(ThisWorkbook.DerniereFeuille).Delete
end if
si la réponse est non, il ne se passe rien
;-)
claude



"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens »,
qui fonctionne très bien dans le but de supprimer la dernière feuille
créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro


Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick











Avatar
claude
bonjour
désolé, je n'avais pas compris
si tu veux que l'action s'automatise, il te daut décider d'abord quand elle
doit se déclencher : c'est une procédure évènementielle, elle doit donc se
déclencher quand un évènement survient : ouverture ou fermeture du fichier,
par exemple
claude


"Patrick" a écrit dans le message de news:
49a7bf74$0$21744$
Merci Claude
Mais ce n'est pas ce que j'attends.
Je souhaite que ma procédure automatise l'action de "supprimer" sans avoir
aucune autre action à faire.
Et dans ton code, j'ai en plus une nouvelle msbox.

Cordialement
Patrick


"claude" a écrit dans le message de news:
49a7ba6f$0$3520$
salut Patrick
si tu ajoutes un


if msgbox("Voulez-vous vraiment supprimer la dernière feuille ?", vbyesno
+ vbquestion, "Salut") =vbyes then
Sheets(ThisWorkbook.DerniereFeuille).Delete
end if
si la réponse est non, il ne se passe rien
;-)
claude



"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens »,
qui fonctionne très bien dans le but de supprimer la dernière feuille
créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro


Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick
















Avatar
Pounet95
Bonjour,
Si je comprends bien tu veux t'affranchir du message de confirmation généré
par Excel avant l'opération de suppression ?
Comme ceci devrait faire ( quoique*)

application.displaysalertsúlse
sheets("truc").Delete
application.displaysalerts=True

* vérifie orthographe exacte de DisplaysAlerts
ensuite suis par certain que ce soit toujours la réponse "OK" qui soit
prise en compte. J'ai posé quelques fois la question,
mais n'ai jamais eu de réponse affirmative à 100% ( quelle que soit la
version d'XL )

Bon courage
Pounet95

"Patrick" a écrit dans le message de
news:49a7bf74$0$21744$
Merci Claude
Mais ce n'est pas ce que j'attends.
Je souhaite que ma procédure automatise l'action de "supprimer" sans avoir
aucune autre action à faire.
Et dans ton code, j'ai en plus une nouvelle msbox.

Cordialement
Patrick


"claude" a écrit dans le message de news:
49a7ba6f$0$3520$
salut Patrick
si tu ajoutes un


if msgbox("Voulez-vous vraiment supprimer la dernière feuille ?", vbyesno
+ vbquestion, "Salut") =vbyes then
Sheets(ThisWorkbook.DerniereFeuille).Delete
end if
si la réponse est non, il ne se passe rien
;-)
claude



"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens »,
qui fonctionne très bien dans le but de supprimer la dernière feuille
créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro


Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick















Avatar
Jacky
Bonjour,

Avant le code de suppression
'---------
Application.DisplayAlerts = False
'---------
Et si dans la macro ce n'est pas la dernière instruction
Après la suppression
'---------
Application.DisplayAlerts = True
'--------
Salutations
JJ


"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens »,
qui fonctionne très bien dans le but de supprimer la dernière feuille
créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro

Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick





Avatar
Patrick
Bonjour

Oui, mais le problème est le nom de la feuille, ce n'est pas "truc"
mais la dernière feuille créés par ce qui suit prend un nom aléatoire
"Feuil1, ou 2 ou etc...
Dans le ThisWorkbook
Public DerniereFeuille
________________________________
Private Sub Workbook_NewSheet(ByVal Sh As Object)
DerniereFeuille = Sh.Name
End Sub

Dans la macro
Sheets(ThisWorkbook.DerniereFeuille).Delete

Et c'est justement à l'issue de la dernière procédure que je dois rajouter
le code qui me permettrait de confirmer automatiquement la suppression de la
dernière feuille créée

Merci pour votre aide



"Pounet95" a écrit dans le message de news:

Bonjour,
Si je comprends bien tu veux t'affranchir du message de confirmation
généré par Excel avant l'opération de suppression ?
Comme ceci devrait faire ( quoique*)

application.displaysalertsúlse
sheets("truc").Delete
application.displaysalerts=True

* vérifie orthographe exacte de DisplaysAlerts
ensuite suis par certain que ce soit toujours la réponse "OK" qui soit
prise en compte. J'ai posé quelques fois la question,
mais n'ai jamais eu de réponse affirmative à 100% ( quelle que soit la
version d'XL )

Bon courage
Pounet95

"Patrick" a écrit dans le message de
news:49a7bf74$0$21744$
Merci Claude
Mais ce n'est pas ce que j'attends.
Je souhaite que ma procédure automatise l'action de "supprimer" sans
avoir aucune autre action à faire.
Et dans ton code, j'ai en plus une nouvelle msbox.

Cordialement
Patrick


"claude" a écrit dans le message de news:
49a7ba6f$0$3520$
salut Patrick
si tu ajoutes un


if msgbox("Voulez-vous vraiment supprimer la dernière feuille ?",
vbyesno + vbquestion, "Salut") =vbyes then
Sheets(ThisWorkbook.DerniereFeuille).Delete
end if
si la réponse est non, il ne se passe rien
;-)
claude



"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 «
Excéliens », qui fonctionne très bien dans le but de supprimer la
dernière feuille créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro


Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick



















Avatar
Modeste
Bonsour® Pounet95

J'ai posé quelques fois la question,
mais n'ai jamais eu de réponse affirmative à 100% ( quelle que soit la
version d'XL )



Microsoft Excel utilise systématiquement la réponse par défaut.
si l'on veut utiliser une autre réponse,
il faut utiliser la méthode :
Sendkeys "{TAB}{TAB}{ENTER}"
*AVANT* l'affichage de la boite de dialogue concernée
nb : le Nbr de {TAB} est à adapter selon les boites
Avatar
Patrick
Merci Jacky
Ca fonctionne

Salutation
Patrick


"Jacky" a écrit dans le message de news:

Bonjour,

Avant le code de suppression
'---------
Application.DisplayAlerts = False
'---------
Et si dans la macro ce n'est pas la dernière instruction
Après la suppression
'---------
Application.DisplayAlerts = True
'--------
Salutations
JJ


"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 « Excéliens »,
qui fonctionne très bien dans le but de supprimer la dernière feuille
créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro


Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick










Avatar
Pounet95
Salut Modeste,
Justement, le problème est de savoir que'elle est la réponse par défaut !
M'est avis que ce n'est ni toujours Oui, ni toujours Non ( heureusement y'a
pas peut-être ! )
Le contexte doit entrer en ligne de compte je pense ? ( et le nombre de TAB
avant semble confirmer ma question !!! )
Pounet95


"Modeste" a écrit dans le message de
news:
Bonsour® Pounet95

J'ai posé quelques fois la question,
mais n'ai jamais eu de réponse affirmative à 100% ( quelle que soit la
version d'XL )



Microsoft Excel utilise systématiquement la réponse par défaut.
si l'on veut utiliser une autre réponse,
il faut utiliser la méthode :
Sendkeys "{TAB}{TAB}{ENTER}"
*AVANT* l'affichage de la boite de dialogue concernée
nb : le Nbr de {TAB} est à adapter selon les boites
Avatar
Pounet95
Bonsoir Patrick,
Ma réponse découlait de ma première réponse dans laquelle je proposais au
moment de la création de la dite feuille
de la nommer. Oeuf corse, si ce n'est pas le cas, difficile de gérer le nom.
Reste une solution peut-être :
Situ es sûr que cette feuille est la dernière créée, alors utilises la
propriété Sheets.Count du classeur et quand tu connais cet index, il te
suffit de faire Sheets(<nombre de feuilles>).delete ( gaffe quand même car
je ne sais plus si ça commence à 0 ou à 1

Bonne soirée et ........ "Allez les Petits" ( pour les fans de rugby ! et
les chauvins comme moi )
Pounet95

"Patrick" a écrit dans le message de
news:49a7d569$0$21744$
Bonjour

Oui, mais le problème est le nom de la feuille, ce n'est pas "truc"
mais la dernière feuille créés par ce qui suit prend un nom aléatoire
"Feuil1, ou 2 ou etc...
Dans le ThisWorkbook
Public DerniereFeuille
________________________________
Private Sub Workbook_NewSheet(ByVal Sh As Object)
DerniereFeuille = Sh.Name
End Sub

Dans la macro
Sheets(ThisWorkbook.DerniereFeuille).Delete

Et c'est justement à l'issue de la dernière procédure que je dois rajouter
le code qui me permettrait de confirmer automatiquement la suppression de
la dernière feuille créée

Merci pour votre aide



"Pounet95" a écrit dans le message de news:

Bonjour,
Si je comprends bien tu veux t'affranchir du message de confirmation
généré par Excel avant l'opération de suppression ?
Comme ceci devrait faire ( quoique*)

application.displaysalertsúlse
sheets("truc").Delete
application.displaysalerts=True

* vérifie orthographe exacte de DisplaysAlerts
ensuite suis par certain que ce soit toujours la réponse "OK" qui soit
prise en compte. J'ai posé quelques fois la question,
mais n'ai jamais eu de réponse affirmative à 100% ( quelle que soit la
version d'XL )

Bon courage
Pounet95

"Patrick" a écrit dans le message de
news:49a7bf74$0$21744$
Merci Claude
Mais ce n'est pas ce que j'attends.
Je souhaite que ma procédure automatise l'action de "supprimer" sans
avoir aucune autre action à faire.
Et dans ton code, j'ai en plus une nouvelle msbox.

Cordialement
Patrick


"claude" a écrit dans le message de news:
49a7ba6f$0$3520$
salut Patrick
si tu ajoutes un


if msgbox("Voulez-vous vraiment supprimer la dernière feuille ?",
vbyesno + vbquestion, "Salut") =vbyes then
Sheets(ThisWorkbook.DerniereFeuille).Delete
end if
si la réponse est non, il ne se passe rien
;-)
claude



"Patrick" a écrit dans le message de news:
49a7a5bc$0$21740$
Bonjour

J'ai incorporé un code , si agréablement donné hier par 2 «
Excéliens », qui fonctionne très bien dans le but de supprimer la
dernière feuille créée lors d'une procédure.

Voici :

Dans le ThisWorkbook

Public DerniereFeuille

__________________________________

Private Sub Workbook_NewSheet(ByVal Sh As Object)

DerniereFeuille = Sh.Name

End Sub



Dans la macro


Sheets(ThisWorkbook.DerniereFeuille).Delete



Cependant, j'aimerais rajouter un bout de code qui validerait aussi
directement la fenêtre de windows de confirmation «Supprimer » ou «
Annulé ».

Avec tous mes remerciements

Patrick