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

Workbook_BeforeClose efface toutes les feuilles au lieu de celles spécifiées???

4 réponses
Avatar
bpascal123
Bonjour,

Le script ci-dessous efface =E9galement le contenu de la feuille 2. Comment=
=E7a se fait?

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.Worksheets(1).Cells.ClearContents
ThisWorkbook.Worksheets(3).Cells.ClearContents
ThisWorkbook.Worksheets(4).Cells.ClearContents

ThisWorkbook.Save

End Sub

Merci pour votre aide

Pascal

4 réponses

Avatar
bpascal123
Si j'écris le nom de la feuille,
ex. sheet("feuil1")... "feuil3"... la feuille 2 sera épargnée

Pourtant mes feuilles comme collection objets dans la fenêtre apparaîss ent dans l'ordrer 1,2,3,4, alors si le script est sheet(1), sheet(3), sheet (4), la feuille 2 ne devraît pas être concernée?
Avatar
max-75
Le mercredi 23 avril 2014 17:49:57 UTC+2, bpascal123 a écrit :
Si j'écris le nom de la feuille,

ex. sheet("feuil1")... "feuil3"... la feuille 2 sera épargnée



Pourtant mes feuilles comme collection objets dans la fenêtre apparaî ssent dans l'ordrer 1,2,3,4, alors si le script est sheet(1), sheet(3), she et(4), la feuille 2 ne devraît pas être concernée?



bonjour,
Pour moi, avec le script ci-dessus, la feuille 2 est épargnée...

cdt

Max
Avatar
MichD
Bonjour,

Quand tu observes le nom des objets "Feuille" de ton projetVBA
dans l'arborescence des objets de ton projetVBA dans la petite
fenêtre du haut à gauche de la fenêtre de l'éditeur de code,

Les objets feuilles sont définis de cette manière :

Sheet1(toto)
Sheet2(titi)
Sheet3(bozo)

Sheet1 et la valeur de la propriété "NAME" de l'objet "Feuille"
toto est le nom de l'onglet de la feuille de calcul. Cela est vrai
pour chacune des feuilles.

Au lieu d'utiliser cette syntaxe :
ThisWorkbook.Worksheets(1).Cells.ClearContents
Tu remplaces par :
Sheet1.Cells.ClearContents
Sheet3.Cells.ClearContents
Sheet4.Cells.ClearContents

Si tu travailles sur une version française :

Feuil1.Cells.ClearContents
Feuil3.Cells.ClearContents
Feuil4.Cells.ClearContents

Le fait d'utiliser la propriété "Name" de l'objet feuille au lieu de l'objet
"Name"
te permet d'afficher la liste des méthodes et propriétés des objets dès que
tu tapes le "Point"
après un objet ou une méthode. Cette liste facilite la saisie du code et
empêche les fautes d'orthographe.
Avatar
bpascal123
plein de sens,
merci