Suppression de feuille

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
claude
Le #18776641
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" 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






Patrick
Le #18776751
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" 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" 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











claude
Le #18776921
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" 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" 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" 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
















Pounet95
Le #18777381
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" 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" 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" 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















Jacky
Le #18777371
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" 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





Patrick
Le #18777581
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" 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" 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" 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



















Modeste
Le #18777751
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
Patrick
Le #18778711
Merci Jacky
Ca fonctionne

Salutation
Patrick


"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" 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










Pounet95
Le #18778981
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" 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
Pounet95
Le #18778971
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" 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" 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" 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" 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























Publicité
Poster une réponse
Anonyme