XL 2016 Partager une seule feuille Excel

Atoto

XLDnaute Nouveau
Salut tout le monde
Mon problème c'est que je veux partager seulement une feuille de mon classeur qui contient un tableau de bord
Quoi faire les amis et merci bcp
 

scraper

XLDnaute Nouveau
Bonjour
Sur la feuille ThisWorkbook adapter le code
VB:
Option Explicit
Const CST_TABLEAU_BORD = "TbBord"
Const CST_MY_USERNAME = "Me" 'dossier sur c:\users

Private Sub Workbook_Open()
Dim sUserProf As String
Dim i As Integer

sUserProf = Environ("USERPROFILE")
If sUserProf = CST_MY_USERNAME Then
  ' si c'est moi ne rien faire
Else
For i = 1 To Sheets(Sheets.Count)
  If LCase(Sheets(i)) = LCase(CST_TABLEAU_BORD) Then
  Else
    Sheets(i).Visible = False
  End If
Next
End If
End Sub
 

Atoto

XLDnaute Nouveau
Bonjour
Sur la feuille ThisWorkbook adapter le code
VB:
Option Explicit
Const CST_TABLEAU_BORD = "TbBord"
Const CST_MY_USERNAME = "Me" 'dossier sur c:\users

Private Sub Workbook_Open()
Dim sUserProf As String
Dim i As Integer

sUserProf = Environ("USERPROFILE")
If sUserProf = CST_MY_USERNAME Then
  ' si c'est moi ne rien faire
Else
For i = 1 To Sheets(Sheets.Count)
  If LCase(Sheets(i)) = LCase(CST_TABLEAU_BORD) Then
  Else
    Sheets(i).Visible = False
  End If
Next
End If
End Sub
merci bcp ci-joint fichier model
 

Pièces jointes

  • BD_Tb.xlsm
    16.4 KB · Affichages: 5

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir Atoto, scraper & BrunoM45

Intéressé par le sujet, j'ai tenté le code de scraper sous Excel 2010 mais en vain. j'ai bien essayé de modifier ce qui clochait mais l'erreur revient à la ligne suivante ???
VB:
For i = 1 To Sheets(Sheets.Count)

Modifié par : For i = 1 to Sheets.Count

  If LCase(Sheets(i)) = LCase(CST_TABLEAU_BORD) Then
  Erreur d'exécution 438 : Propriété ou méthode non géré par cet objet
Bonne fin de juornée à toutes & à tous.
Eric c
 
C

Compte Supprimé 979

Guest
Bonsoir le forum
Bonsoir Atoto, scraper & BrunoM45

Intéressé par le sujet, j'ai tenté le code de scraper sous Excel 2010 mais en vain. j'ai bien essayé de modifier ce qui clochait mais l'erreur revient à la ligne suivante ???
VB:
For i = 1 To Sheets(Sheets.Count)

Modifié par : For i = 1 to Sheets.Count

  If LCase(Sheets(i)) = LCase(CST_TABLEAU_BORD) Then
  Erreur d'exécution 438 : Propriété ou méthode non géré par cet objet
Bonne fin de juornée à toutes & à tous.
Eric c
Bonjour Eric C
As-tu mis la constante au début de ton module
VB:
Const CST_TABLEAU_BORD = "TbBord"

D'ailleurs si ce n'est utilisée qu'une fois, inutile d'utiliser une constante autant mettre le texte directement dans le test
Code:
 If LCase(Sheets(i)) = LCase("TbBord") Then
A+
 

Statistiques des forums

Discussions
312 210
Messages
2 086 277
Membres
103 170
dernier inscrit
HASSEN@45