Comment cacher des feuilles lors de la création d'un bilan [Résolu]

Signaler
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
-
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
-
Bonjour à tous,
je cherche a cacher les feuilles "matrice" et "vierge" pour qu'elles ne fassent pas parti du bilan.. voici le code :

Sub bilan(control As IRibbonControl)

'Ici je déclare mes variables
Dim wk1 As Workbook
Dim wk2 As Workbook
Dim sh As Worksheet
Dim Nom_Feuille As String
Dim total As String
Dim hzc As String
Dim trpen As String
Dim nuit As String
Dim rep As String
Dim ClasseurPath As String
Dim l As Integer

rep = Environ("USERPROFILE") & ""
ClasseurPath = rep & "\Documents\POINTAGES\bilanHebdo.xlsm"

Set wk1 = ThisWorkbook
l = 4
'ouverture du classeur
Set wk2 = Workbooks.Open(ClasseurPath)

For Each sh In wk1.Worksheets

Nom_Feuille = sh.Name
' c'est ici que je cherche a cacher les feuilles... mais ça ne fonctionne pas, il me les affiche quand même dans le bilan...
Select Case UCase(sh.Name)
Case "MATRICE", "VIERGE"
Case Else
End Select

'Copie des noms des feuilles dans une colonne
wk2.Sheets(1).Cells(l, 1).Value = Nom_Feuille
'copie des nombres totales d'heure de chantiers
total = sh.Range("CW18").Value
wk2.Sheets(1).Cells(l, 2).Value = total
'copie des nombres totales d'heures en ZC
hzc = sh.Range("CW21").Value
wk2.Sheets(1).Cells(l, 3).Value = hzc
'copie des nombres totales de travaux pénibles
trpen = sh.Range("CW23").Value
wk2.Sheets(1).Cells(l, 4).Value = trpen
'copie des nombres totales d'heure de nuits
nuit = sh.Range("CW25").Value
wk2.Sheets(1).Cells(l, 5).Value = nuit
l = l + 1
Next


'Fermeture du second classeur
'wk2.Close

End Sub

Merci pour vos réponses...

A bientôt

Christian
--

5 réponses

Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
J'ai peut être compris mon problème, je pense qu'il faut que je fasse un :

Dim shWk1 As Object
For Each shWk1 In Worksheets
Select Case UCase(shWk1.Name)
Case "MATRICE", "VIERGE"
Case Else
End Select

Ai-je été bon ?

Merci
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Et ba non !! c'est pas ça...grrr
Messages postés
30294
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2020
338
Il faut durtout coller ton code de copie DANS ton select case....



Select case mavariable
Case condition1
  'Action....
Case conditionx
  ' ...action
Case Else 
  '.... action...

End select

Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Salut jordane45,

Je n'ai pas du comprendre son fonctionnement alors..., si tu te souviens, c'est un code que j'ai eu lors de la création de l'USF To_PDF, afin que les feuilles "MATRICE" et "VIERGE" n'apparaisse pas dans la ListBox...

Je vois bien l'exemple que tu m'as fourni, mais il n'est pas assez clair dans ma pauvre tête, lol

Je vais voir avec mon ami google, il va bien me dire quelque chose...lol.

Bonne journée

Christian
--
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Peut-être comme ceci ?
For Each sh In wk1.Worksheets
If sh.Name <> "MATRICE" And sh.Name <> "VIERGE" Then
'ton code
Else
sh.Visible = xlSheetHidden ' ou xlSheetVeryHidden
End If
Next

Messages postés
30294
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2020
338
Bon...deux choses. ..
1 - le fait de masqer une feuille n'empêchera pas ta macro de la mettre dans ton rapport...
2 - ....relis toi...penses tu qu'une feuille puisse avoir DEUX noms en même temps (AND)
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
S'il ne veut pas les masquer, il n'a qu'à ne rien faire.
J'ai lu ceci qui m'a peut-être mis sur la mauvaise piste
' c'est ici que je cherche a cacher les feuilles...

Pour le <> AND <>, je ne vois pas le problème.
Ça empêche de considérer ces deux feuilles dans son traitement. C'est ça qu'il veut, il me semble...
Messages postés
30294
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2020
338
Oupsss... je n'avais pas vu les <> .... je ne sais pas pourquoi mais sur le coup j'ai cru voir des =
....donc oui ton IF est bon.... tout comme son select case... le truc c'est qu'il doit plcer correctement son code....
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
;)
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
Oups,

sincèrement désolé, un grand merci, la solution a fonctionné à merveille, par contre j'aurais pu dire merci plutôt... vraiment désolé...

Bonne journée