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

Jacky67

XLDnaute Barbatruc
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
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

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib