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

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
 

Softmama

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

thibast

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

  • liste onglet commencant par 20.zip
    11.1 KB · Affichages: 57
Dernière édition:

Softmama

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

Si...

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

thibast

XLDnaute Nouveau
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".
 

Softmama

XLDnaute Accro
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 :)
 

thibast

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

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 979
Membres
103 996
dernier inscrit
KB4175