liste des onglets commençant par la chaine de caractére "20"

  • Initiateur de la discussion Initiateur de la discussion thibast
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

thibast

XLDnaute Nouveau
Bonjour et bonne année à tous,

J'ai un problème de gestion de boucle et d'analyse de chaine de caractéres pour mettre à jour la liste de nom des onglets commençant par 20 à partir de la cellule [D3] jusqu'au n onglet à lister.
ci joint le code dans l'état :
PHP:
Sub Maj_Liste_onglets()


[D2].Select

For n = 1 To Sheets.Count
For i = 1 To Sheets.Count 
If "20" <> Left(Sheets(i).Name, 2) Then GoTo 1
Selection.Offset(n, 0).Value = Sheets(i).Name
Next i
1 Next n


End Sub

- Je ne parviens pas à "lire" correctement le début de l'onglet (en numérique ou alphanumérique)
- Ca plante lorsque la feuille en cours dans la boucle est inéxistante
- comment différencier l'incrémentation de n permettant d'aller à la ligne suivante lorsque le nom de feuille commence par 20
- et de i lorsque l'onglet est trouvé ?

Autre problème l'exécution de la macro est trés longue (45 s pour actuellement 17 onglets dont 14 onglets commencant par 20) ???

En vous remerciant vivement par avance de vos réponses et différentes observations
 
Re : liste des onglets commençant par la chaine de caractére "20"

Hello,

Sans avoir testé, essaie :

Code:
Sub test()
Dim n as byte, i as Byte
i=1
For n = 1 to sheets.count
    if left$(Sheets(n).name,2)="20" then Range("D2").offset(i, 0) = Sheets(n).Name
Next n
End SUb

Je pense pas que ça doit prendre longtemps pour si peu d'onglets. Vois ce que ça donne.
 
Re : liste des onglets commençant par la chaine de caractére "20"

Merci pour ce premier élément de réponse

A partir de ton code et en rajoutant un on erreur pour "bypasser " l'absence d'onglet lors de l'incrémentation, on obtiens bien un déroulement des différents onglets mais pas un décalage de ligne aprés chaque onglet commencant par "20"
🙁
je pense qu'on y est presque mais là personnellement je cale.

J'ai joint une partie du fichier xls pour illustrer mes interrogations.
 

Pièces jointes

Dernière édition:
Re : liste des onglets commençant par la chaine de caractére "20"

Re, ha oui grosière erreur de ma part, essaie plutôt ainsi :
Code:
Sub test()
Dim n as byte, i as Byte
i=1
For n = 1 to sheets.count
    if left$(Sheets(n).name,2)="20" then Range("D2").offset(i, 0) = Sheets(n).Name: i=i+1
Next n
End SUb
 
Re : liste des onglets commençant par la chaine de caractére "20"

Salut

pour avoir la liste à partir de D3,
Code:
  Dim n As Byte, i As Byte
  For n = 1 To Sheets.Count
    If Left$(Sheets(n).Name, 2) = "20" Then
      Cells(3 + i, 4) = Sheets(n).Name
      i = i + 1
    End If
  Next
 
Re : liste des onglets commençant par la chaine de caractére "20"

Super ça tourne (c'est tellement simple avec vous).
On y est presque.
Etant donnée que les onglets commençant par "20", ne sont qu'au nombre 14 sur un total de 17. Actuellement je pense qu'il s'arrete dans la liste avant le derniezr fichier à cause de cela.
La parade (si cela est possible) est de lancer une boucle sur le nombre d'onglet commençant par "20".
 
Re : liste des onglets commençant par la chaine de caractére "20"

re,

j'ai beau chercher, je vois pas... A mon sens, les solutions proposées en #4 et #7 font la même chose : afficher à partir de la cellule D3 la liste des onglets qui commencent par "20", et c'est bien ce que j'avais compris de ta demande initiale. Donc si ton test ne t'affiche que 14 onglets sur 17, c'est pque les 3 autres onglets commencent par autre chose que "20". Ou alors, tente d'être plus clair, pqu'on semble tous un peu patauger à juste COMPRENDRE quel est ton pb 🙂
 
Re : liste des onglets commençant par la chaine de caractére "20"

Mi acculpa,
L'onglet manquant ne figurait pas dans la liste des onglets commencant par "20" car un espace figurait en début de chaine. (du coup " 2" et non pas "20" ...) °(
Maintenant tout fonctionne.
Un grand merci à tous et particulièrement à toi Softmama.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
678
Retour