XL 2013 VBA variables avec plusieurs valeurs

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Nairolf87

XLDnaute Nouveau
Bonjour,
J'ai une table avec le nom de matricule ainsi que le nom de feuille d'un classeur.
Un matricule peut avoir plusieurs feuilles.
Le but après étant d'ouvrir toutes les feuilles en fonction du matricule.
Je vais donc dans un premier chercher le nom des feuilles en fonction du matricule.

Mais je ne sais pas comment je peux inclure plusieurs valeur pour une variable ?

Ici mon matricule est APR8
mais celui la peut être affecter à différentes feuilles or dans le code suivant il prend en compte uniquement le dernier nom de feuille ?

Comment tous les enregistrer ?

Merci d'avance

Ex :

VB:
Sub Identification()
    Dim name As String
    Dim Sheetname As String
    Dim matricule As String
    Dim Feuille As Variant
    Dim derlig, i As Integer
    Dim cptr As Byte
   
    matricule = "APR8"
   
    Sheets("Table").Select
    derlig = Range("A" & Cells.Rows.Count).End(xlUp).Row
   
    For i = 1 To derlig
   
    If Cells(i, 1).Value = matricule Then
        Feuille = Cells(i, 2).Value
    End If
   
    Next
       
    If Feuille = "Admin" Then
        For cptr = 1 To ThisWorkbook.Sheets.Count
        Sheets(cptr).Visible = True
        Next
   
    Else
   
        For cptr = 1 To ThisWorkbook.Sheets.Count
        If Sheets(cptr).name <> Feuille Then
        Sheets(cptr).Visible = 2
        End If
        Next
    End If
   
End Sub
 
VB:
Sub Identification()
   Dim name As String
   Dim Sheetname As String
   Dim matricule As String
   Dim Feuille As Variant
   Dim derlig, i As Integer
   Dim cptr As Byte
  
    matricule = "APR8"
  
    Sheets("Table").Select
    derlig = Range("A" & Cells.Rows.Count).End(xlUp).Row
  
   For i = 1 To derlig
  
   If Cells(i, 1).Value = matricule Then
        Feuille = Cells(i, 2).Value
   End If
  

      
   If Feuille = "Admin" Then
       For cptr = 1 To ThisWorkbook.Sheets.Count
        Sheets(cptr).Visible = True
       Next
  
   Else
  
       For cptr = 1 To ThisWorkbook.Sheets.Count
       If Sheets(cptr).name <> Feuille Then
        Sheets(cptr).Visible = 2
       End If
       Next
   End If
  
next
End Sub

c'est peut etre JUSTE la position du Next qui est à revoir..comme ci dessus
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
281
Réponses
5
Affichages
236
Réponses
4
Affichages
177
Réponses
5
Affichages
232
Réponses
2
Affichages
201
Retour