sélectionner feuille d'aprés une chaine de caractéres

bertgrav

XLDnaute Occasionnel
bonsoir,

je voudrais trouver le code VBA qui me permet de sélectionner les feuilles à partir de l'entrée d'une chaine de caractéres dans un inputbox

dans le document excel, si je mets FF par exemple, je voudrais que toutes les feuilles ayant FF dans le titre soient sélectionnées (quelquesoit l'endroit du FF, début, fin ou milieu)

merci de vos réponse

chantal
 

Pièces jointes

  • EXEMPLE1.xls
    41 KB · Affichages: 64
  • EXEMPLE1.xls
    41 KB · Affichages: 62
  • EXEMPLE1.xls
    41 KB · Affichages: 60

Cousinhub

XLDnaute Barbatruc
Re : sélectionner feuille d'aprés une chaine de caractéres

Bonsoir,
un petit code, suffit de rentrer les 2 premières lettres
Peu importe Majuscule, ou minuscule, l'option compare text s'en affranchit

Code:
Option Compare Text
Sub A()
essaie_encore:
motrechercher = InputBox("entrez chaine de caractères : (2 premières lettres de l'onglet)", "information", "", vbOKCancel)
If Len(motrechercher) = 0 Then Exit Sub
If Len(motrechercher) <> 2 Then GoTo essaie_encore
Dim Tableau()
    compteur = 1
    For Each sh In Sheets
        With sh
            If Left(.Name, 2) = motrechercher Then
                ReDim Preserve Tableau(1 To compteur)
                Tableau(compteur) = .Name
                compteur = compteur + 1
            End If
        End With
     Next sh
If compteur = 1 Then Exit Sub
Sheets(Tableau).Select
End Sub
 

GIBI

XLDnaute Impliqué
Re : sélectionner feuille d'aprés une chaine de caractéres

Bonsoir,

Attention respecter la casse pour le INSTR (recherche position d'une chaine)

Sub A()
Dim F As Long
Dim TFeuille()
MotRechercher = InputBox("entrez chaine de caractères : ", "information", "", vbOKCancel)
IF MotRechercher = "" then exit sub ' on sort si pas de selection

F = 1
For I = 1 To Sheets.Count
If InStr(Sheets(I).Name, MotRechercher) <> 0 Then
ReDim Preserve TFeuille(1 To F)
TFeuille(F) = Sheets(I).Name
F = F + 1
End If
Next
If F > 1 Then: Sheets(TFeuille).Select
End Sub

Bonne nuit
 

Spitnolan08

XLDnaute Barbatruc
Re : sélectionner feuille d'aprés une chaine de caractéres

Bonsoir à tous,

Une autre solution si bien compris (Pas compris la même chose que bhbh en tout cas) :
Code:
Sub TEST()
Dim SelectSh() As String
ChGroupe = InputBox("Pour sélectionner les onglets correspondants," & Chr(10) & "saisissez un groupe de lettres", vbOKCancel)

If ChGroupe = "" Then Exit Sub
j = -1
For i = 1 To Sheets.Count
    With Sheets(i)
        If .Name Like "*" & ChGroupe & "*" Then
            j = j + 1
            ReDim Preserve SelectSh(j)
            SelectSh(j) = .Name
        End If
    End With
Next
Sheets(SelectSh).Select
End Sub
Cordialement
 

bertgrav

XLDnaute Occasionnel
Re : sélectionner feuille d'aprés une chaine de caractéres

Bonjour,

excusez moi pour la réponse un peu tardive, je vous remercie pour le bout de code, je vais l'adapter pour ce que je dois faire.

les 3 macros fonctionnent trés bien.

encore merci

chantal
 

Pierrot93

XLDnaute Barbatruc
Re : sélectionner feuille d'aprés une chaine de caractéres

Bonjour Chantal, Spitnolan:), bhbh:), GIBI

Après la bataille, une autre solution pour le fun :

Code:
Option Explicit
Sub test()
Dim ws As Worksheet, n As String
n = InputBox("Quelle partie de nom de feuille recherchée ?")
For Each ws In Worksheets
    If LCase(ws.Name) Like "*" & LCase(n) & "*" Then ws.Select False
Next ws
End Sub

bonne journée à tous
@+
 

Spitnolan08

XLDnaute Barbatruc
Re : sélectionner feuille d'aprés une chaine de caractéres

Re le fil,

@Pierrot : à quoi correspond le False (ou plutôt quelle action induit il et pourquoi ?) que tu as mis dans ton code ? C'est génial mais pour le retenir, il faudrait que je comprenne...

Bien cordialement
 

Pierrot93

XLDnaute Barbatruc
Re : sélectionner feuille d'aprés une chaine de caractéres

Re

@Spitnolan
"false", défini la valeur de l'argument "replace" de la methode "select", te permet de sélectionner plusieurs objets sans annuler la sélection en cours , cf ci dessous aide vba :

Méthode Select telle qu'elle s'applique aux objets Chart, Charts, Shape, ShapeRange, Sheets, Worksheet et Worksheets.

Cette méthode sélectionne l'objet.

expression.Select(Replace)
expression Obligatoire. Expression qui renvoie un des objets ci-dessus.

Replace Argument de type Variant facultatif. Objet à remplacer.

@+
 
Dernière édition:

Discussions similaires

Réponses
15
Affichages
903
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 848
Messages
2 092 781
Membres
105 533
dernier inscrit
TAF