OVH Cloud OVH Cloud

Prise en compte de plusieurs feuilles

2 réponses
Avatar
nangoustines
Bonjour, g le code ci-dessous qui me permet d'obliger les utilisateurs à activer les macros si ils veulent utiliser le fichier. Ca marche, mais jusqu'à maintenant, le classeur visible ne comportait qu'une feuille: Sheets("Prospection"). J'ai rajouté 2 autres feuilles Conception et Suivi projet. Pourriez vous m'indiquer le code qui prendrait en compte mes 3 feuilles, dans cet esprit: Sheets(("Prospection")("Conception")("Suivi projet")).Visible = True mais qui marche. Ca doit être simple mais le VBA et moi ça fait 3. Merci

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'si les macros ont été autorisées à l'ouverture, la feuille prospection
'est visible et alerte macro est cachée
'il faut re-préparer le classeur pour l'éventuelle mauvaise ouverture suivante
'si elles n'ont pas été autorisées de toutes façons cette macro ne
'se lance pas ...
Application.ScreenUpdating = False
Sheets("AlerteMacro").Visible = True
Sheets("Prospection").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
Sheets("Prospection").Visible = True
Sheets("AlerteMacro").Visible = False
MsgBox "BIENVENU DANS LA FICHE DE PROSPECTION ET SUIVI PROJET, Vous disposez de 3 onglets : Prospection, Conception et Suivi projet. Seul le Responsable administratif peut modifier la conception et le suivi de projet, mais tout le monde peut et doit les consulter.", vbInformation, "Fichier gestion projet"
End Sub

2 réponses

Avatar
Pascal Engelmajer
salut,
Private Sub Workbook_BeforeClose(Cancel As Boolean)

'si les macros ont été autorisées à l'ouverture, la feuille prospection
'est visible et alerte macro est cachée
'il faut re-préparer le classeur pour l'éventuelle mauvaise ouverture
suivante

'si elles n'ont pas été autorisées de toutes façons cette macro ne
'se lance pas ...
Application.ScreenUpdating = False
Sheets("AlerteMacro").Visible = True


Sheets("Prospection").Visible = False
Sheets("Conception").Visible = False
Sheets("Suivi projet").Visible = False
ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
Sheets("Prospection").Visible = True
Sheets("Conception").Visible = True

Sheets("Suivi projet").Visible = True
Sheets("AlerteMacro").Visible = False
MsgBox "BIENVENU DANS LA FICHE DE PROSPECTION ET SUIVI PROJET, Vous
disposez de 3 onglets : Prospection, Conception et Suivi projet. Seul le

Responsable administratif peut modifier la conception et le suivi de projet,
mais tout le monde peut et doit les consulter.", vbInformation, "Fichier
gestion projet"
End Sub

on pourrait sécuriser un peu plus en utilisant le CodeName des feuilles...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"nangoustines" a écrit dans le
message de news:
Bonjour, g le code ci-dessous qui me permet d'obliger les utilisateurs à
activer les macros si ils veulent utiliser le fichier. Ca marche, mais

jusqu'à maintenant, le classeur visible ne comportait qu'une feuille:
Sheets("Prospection"). J'ai rajouté 2 autres feuilles Conception et Suivi
projet. Pourriez vous m'indiquer le code qui prendrait en compte mes 3
feuilles, dans cet esprit: Sheets(("Prospection")("Conception")("Suivi
projet")).Visible = True mais qui marche. Ca doit être simple mais le VBA et
moi ça fait 3. Merci






Avatar
FxM
Bonjour,

Evidement maintenant ça marche. Encore une fois Merci pour ton aide précieuse Pascal.


Tu sais que l'on ait aussi faire des réponses qui ne marchent pas :o)
Essaie :

Private Sub Workbook_Open()
dim x as string
x=2
end sub

@+
FxM