Pages couleurs d'onglet blanc

pseudo_polo -  
 Paf -
Bonjour,

voici mon code - je ne suis même pas débutant en VBA mais je sèche depuis trop longtemps!! à l'aide!! je veux tout simplement sélectionner les feuilles dont les onglets sont de couleurs blanches (càd = Tab.ColorIndex = -4142 ). A la fin, je veux selectionner le string qui se compose de toutes les feuilles, mais je n'y arrive pas.

Help

Sub new_selelction()

Dim ShtNames() As String
ReDim ShtNames(1 To ActiveWorkbook.Sheets.Count)
For i = 8 To Sheets.Count - 5
If Sheets(i).Tab.ColorIndex = -4142 Then
ShtNames(i) = Sheets(i).Name
Next i

Sheets(ShtNames(i)).Select

End Sub

Merci et bonnes vacnces à vous!!
pseudo_polo

3 réponses

  1. Paf
     
    bonjour,

    Sub new_selelction()
    Dim MaList as String
    For i = 8 To Sheets.Count - 5
       If Sheets(i).Tab.ColorIndex = -4142 Then
            Sheets(i).Select (False)
            MaList=MaList & Sheets(i).Name & ","
       End If
    Next i
    
    MaList= Left(MaList, Len(MaList) - 1)
    MsgBox MaList
    End Sub 

    Bonne suite
    0
  2. pseudo_polo
     
    Merci Paf!!

    Bonne suite à toi également!! dernière question= admettons dans une autre macro j'ai besoin de selectionner les sheets correspondant à Sheets(i).Tab.ColorIndex = -4142 , comment je peux faire pour rapidement sélectionner ces sheets en question?

    Merci par avance
    Bonnes vacances (pour bientôt j'espère!!)
    pseudo_polo
    0
  3. Paf
     
    re,

    on aurait pu mettre la liste des feuilles dans une variable mise en forme comme MaList dans le code fourni et utiliser un code du genre:
    Sheets(Array(MaList)).Select
    Mais ça ne fonctionne pas (L'indice n'appartient pas à la sélection)

    Je n'ai donc pas d'autres solution que celle ci:
    For i = 8 To Sheets.Count - 5
       If Sheets(i).Tab.ColorIndex = -4142 Then
            Sheets(i).Select (False)
       End If
    Next i
    à réutiliser à chaque besoin.
    0