Textbox & Feuille [Résolu]

Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Dernière intervention
16 août 2011
- - Dernière réponse : cs_agenais
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Dernière intervention
16 août 2011
- 6 juil. 2011 à 12:13
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
3
Merci
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

Merci ucfoutu 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Dernière intervention
16 août 2011
0
Merci
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
Commenter la réponse de cs_agenais
Messages postés
10
Date d'inscription
mercredi 6 juillet 2011
Dernière intervention
16 août 2011
0
Merci
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.
Commenter la réponse de cs_agenais

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.