Textbox & Feuille [Résolu]

Signaler
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
16 août 2011
-
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
16 août 2011
-
Bonjour,

Je suis novice en vba mais cependant j'essaye depuis deux jours de positionner dans une textbox le nom de feuille (ça pas de problème) :

For Each Worksheet In ActiveWorkbook.Sheets
UserForm2.ComboBox1.AddItem (Worksheet.Name)
Next

Cependant j'aimerai commencer à partir de la feuille tata et je n'y arrive pas ....
Quelqu'un pourrait il me mettre sur le chemin ?
Merci.

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bon.
1) tout d'abord : mon code précédent risque de te conduire à l'impossible (si par exemple la combo est encore vide et tu veux placer l'item en cours à un index > 0)
2)Regarde ce que fait cet exemple avec 3 feuilles nommées Feuil1, Feuil2 et Feuil3
Je vais plus loin que toi, encore, puisque je vais jusqu'à définir l'ordre de leur index dans la combo.
Analyse et tu vas comprendre :
Private Sub CommandButton1_Click()
  Dim feuille As Worksheet, toto As String, ou0 As Integer, ou As Integer, i As Integer
  toto = "@Feuil2/1@Feuil3/2@Feuil1/3"
  For i = 0 To Worksheets.Count - 1
    ComboBox1.AddItem ""
  Next
  For Each feuille In ActiveWorkbook.Sheets
   If feuille.Visible = True Then
     ou0 = InStr(toto, "@" & feuille.Name & "/") + Len(feuille.Name) + 2
     ou1 = Val(Mid(toto, ou0)) - 1
     UserForm1.ComboBox1.List(ou1) = feuille.Name
   End If
 Next
End Sub

Amuse-toi à masquer la feuille de ton choix et vois


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
VBA n'est pas VB.Net ! Pense à choisir la sectiuon adéquate, la prochaine fois.
Tu parles de Textbox mais ton code montre que tu utilises une combobox !


Ouvre AddItem dans ton aide VBA ===>> admission d'un argument de placement

Exemple pour ton cas (tel qu'exposé) :

For Each Worksheet In ActiveWorkbook.Sheets
   If Worksheet.Name = "tata" Then
     UserForm2.ComboBox1.AddItem Worksheet.Name, 0
   Else
     UserForm2.ComboBox1.AddItem Worksheet.Name
   End If
 Next


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
16 août 2011

Désolé j'ai juste regardé que mon message soit dans la partie débutant ...
Pour la textbox je confond à chaque fois.
Par contre je vais recommencer l'explication.
Dans mon classeur j'ai 3 feuilles que j'ai masqué et je ne veux en aucun cas les faire apparaitre dans ma combobox ...
Merci
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
16 août 2011

Merci pour ton aide.
Finalement j'ai juste pris le morceau suivant :
If feuille.Visible = True Then

en plaçant correctement mon end if cette fois ci car je pense que mon erreur venait de là.
Encore merci.