Pages couleurs d'onglet blanc

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. 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
    1. 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
      1. 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