Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Filtrer une liste d'onglets en vba

christ77000

XLDnaute Occasionnel
Bonsoir dans ce code je récupère la liste des onglets de mon classeur. Mais il y a pas mal d'onglets donc ma question est comment modifier ce code pour ne récuperer que les onglets commençants par RE

Code:
Sub Raffraichir_liste_onglet_R()

'---raffraichir la liste des onglets dans l'onglet "Menu"---
Dim i As Integer
    Sheets("Menu1").Select
'Call Retirer_la_protection '---retire la protection de la feuille---
        Range("P4:P40").Select '---efface les lignes---
        Selection.ClearContents
        Range("P4").Select
      
    For i = 3 To Sheets.count '---boucle sur toutes les onglets du classeur sauf les deux premier---
            ActiveCell.Value = Sheets(i).Name
        ActiveCell.Offset(1, 0).Select
    Next i
'Call Protéger_la_feuille '---proteger la feuille---

End Sub
 
Solution

Jacky67

XLDnaute Barbatruc
Bonsoir à tous
Essaye comme ceci
VB:
Sub Raffraichir_liste_onglet_R()
'---raffraichir la liste des onglets dans l'onglet "Menu"---
    Dim i&, x&
    Sheets("Menu1").Select
    'Call Retirer_la_protection '---retire la protection de la feuille---
    [p4:P40].ClearContents    '---efface les lignes---
    x = 4
    For i = 3 To Sheets.Count    '---boucle sur toutes les onglets du classeur sauf les deux premier---
        If UCase(Left(Sheets(i).Name, 2)) = "RE" Then Cells(x, "P") = Sheets(i).Name: x = x + 1
    Next i
    'Call Protéger_la_feuille '---proteger la feuille---
End Sub
 

christ77000

XLDnaute Occasionnel
Merci, je viens de le placer comme ceci mais il me reste un nom d'onglet qui ne commence pas par RE !!
VB:
Sub Raffraichir_liste_onglet_R()

'---raffraichir la liste des onglets dans l'onglet "Menu"---
Dim i As Integer
    Sheets("Menu1").Select
'Call Retirer_la_protection '---retire la protection de la feuille---
        Range("P4:P40").Select '---efface les lignes---
        Selection.ClearContents
        Range("P4").Select
        
    For i = 3 To Sheets.count '---boucle sur toutes les onglets du classeur sauf les deux premier---
            ActiveCell.Value = Sheets(i).Name
            If Left$(Sheets(i).Name, 2) = "RE" Then
        ActiveCell.Offset(1, 0).Select
     End If
    Next i
    
'Call Protéger_la_feuille '---proteger la feuille---

End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…