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

destruction dernière feuille

5 réponses
Avatar
pb
Bonjour
Avant la fermeture d'un classeur,
Comment détruire en VBA la dernière feuille créee sans la nommer mais
simplement en effectuant le compte des feuilles et en détruisant la
troisième pas exemple
Merci

5 réponses

Avatar
Ced
Bonjour,

nbfeuille = Sheets.Count 'compte le nombre de feuilles
sheets(nbfeuille).delete 'supr la dernière

salutations
--
ced


"pb" a écrit :

Bonjour
Avant la fermeture d'un classeur,
Comment détruire en VBA la dernière feuille créee sans la nommer mais
simplement en effectuant le compte des feuilles et en détruisant la
troisième pas exemple
Merci





Avatar
Ced
Bonjour,

nbfeuille = Sheets.Count 'compte le nombre de feuilles
sheets(nbfeuille).delete 'supr la dernière

salutations
--
ced


"pb" a écrit :

Bonjour
Avant la fermeture d'un classeur,
Comment détruire en VBA la dernière feuille créee sans la nommer mais
simplement en effectuant le compte des feuilles et en détruisant la
troisième pas exemple
Merci





Avatar
pb
Merci
"Ced" a écrit dans le message de news:

Bonjour,

nbfeuille = Sheets.Count 'compte le nombre de feuilles
sheets(nbfeuille).delete 'supr la dernière

salutations
--
ced


"pb" a écrit :

Bonjour
Avant la fermeture d'un classeur,
Comment détruire en VBA la dernière feuille créee sans la nommer mais
simplement en effectuant le compte des feuilles et en détruisant la
troisième pas exemple
Merci








Avatar
MichDenis
| nbfeuille = Sheets.Count 'compte le nombre de feuilles
| sheets(nbfeuille).delete 'supr la dernière

Si le but est de supprimer la dernière feuille ajoutée,
j'ai des doutes sérieux...

sheets(nbfeuille).delete

Dans la ligne de code précédente, "nbfeuille" représente
l'index ou la position, celle située à l'extrême droite
de toutes les feuilles d'un classeur.
La question : Qu'est-ce qui se passe si la feuille ajoutée
est située ailleurs qu'à la dernière position dans l'ensemble
des feuilles ? Et si la dernière feuille fut déplacée manuellement
Comment es-tu sûr que tu supprimes vraiment la dernière feuille ?
Avatar
MichDenis
Tu peux utiliser ceci :

Dans un MODULE STANDARD :

'En haut de ce dernier, déclaration d'une variable
Public NomDernièreFeuilleAjoutée As String

'Procédure pour effacer la dernière feuille ajoutée.
'Ceci est vrai, si la feuille ajoutée est supprimée dans
LA MÊME séance de travail. Sinon, tu peux créer un
"NOM" de la collection "Names" pour contenir l'information
plutôt que la variable "NomDernièreFeuilleAjoutée"
'-------------------------------------------------------------
Sub Supprimer_Dermière_Feuille_Ajoutée()
On Error Resume Next
Application.DisplayAlerts = False
Worksheets(ThisWorkbook.VBProject.VBComponents _
(NomDernièreFeuilleAjoutée).Properties("Index")).Delete
Application.DisplayAlerts = True
End Sub
'-------------------------------------------------------------


Dans le ThisWorkbook de ton classeur, tu ajoutes ceci :
'-------------------------------------------------------------
Private Sub Workbook_NewSheet(ByVal Sh As Object)

NomDernièreFeuilleAjoutée = Sh.CodeName

End Sub
'-------------------------------------------------------------




"pb" a écrit dans le message de groupe de discussion :

Bonjour
Avant la fermeture d'un classeur,
Comment détruire en VBA la dernière feuille créee sans la nommer mais
simplement en effectuant le compte des feuilles et en détruisant la
troisième pas exemple
Merci