ListBox et cases à cocher

Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010 - 27 juin 2007 à 16:56
 Utilisateur anonyme - 27 mai 2012 à 01:57
Bonjour,
J'ai effectué un programme qui m'affiche au final une liste de nom avec plusieurs colonnes(listbox). J'ai choisi dans les paramètres de ma listbox "liststyl = fmListStyleOption". Ce qui me permet de cocher les lignes que je souhaite à la fin de mon programme. Je voudrais quand je clique sur une ligne faire afficher une page d'excel du meme fichier. Il faut préciser que je travaille sur visual basic dans excel.
Merci d'avance.
Tiatia63

8 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
27 juin 2007 à 22:41
Peux-tu expliquer plus clairement quel est le problème ?
Quelle feuille veux-tu afficher ? une feuille dans la liste ?
si oui, dans quelle colonne de la liste est inscrit le nom ?
sinon, qu'est-ce qu'il y a dans ta liste et que veux-tu en faire ?

MPi
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
28 juin 2007 à 10:21
Bon alors j’ai un programme que je lance, je séléctionne des cases qui correspondent à certains parametres et ca me sort une liste de nom (dans la première colonne) et d’autres caractéristiques dans les autres colonnes (6colonnes).



Les noms dans la premiere colonne de ma list box correspondent aux noms de mes feuillles excel. Je voudrais quand je sélectionne ma ligne de listbox que la feuille correspondant au nom de ma ligne s’affiche.




Voilà… J’espère avoir été plus claire…
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
28 juin 2007 à 11:56
Un exemple qui devrait fonctionner.
Sur double-click d'un item de la listbox, la feuille sera sélectionner
Une fois le nom de la feuille récupéré, tu peux faire ce que tu veux, pas seulement l'afficher.
Et tu peux mettre ce code dans d'autres événements comme un bouton ou autre...

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Nom As String
   
    Nom = ListBox1.List(ListBox1.ListIndex, 0)  ' 1ere colonne de la liste
    Sheets(Nom).Activate
End Sub

MPi
0
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
28 juin 2007 à 14:59
Bon j'ai réussi a récupérer la valeur de la ligne sélectionnée (colonne1) soit le nom de la feuille que je voudrais ouvrir. Maintenant j'arrive pas à faire en sorte d'ouvrir la feuille du fichier excel dont j'ai récupéré le nom.
Voilà ce que j'ai fait:
   Private Sub Fiche_Click()
   Dim i As Variant
   Dim nuance As String
   i = 0
   For i = 0 To 20
       If UsfRésultats.ListBox2.Selected(i) = True Then
           nuance = UsfRésultats.ListBox2.List(i) 'jusque là ça marche
           Sheets("nuance").Activate 'là j'arrive pas a récupérer ma feuille, comment la nommer?
           Exit For
       End If
   Next i
   End Sub
Nuance est le nom de la feuille que je voudrais faire apparaitre.
Merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tiatia63 Messages postés 60 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 23 décembre 2010
28 juin 2007 à 16:38
Je me trouve face à un autre probleme.
En fait, j'ai revu mon truc et donc je re-explique!!
En fait, je veux que mon programme puissent se lancer à partir de n'importe quelle application, pas forcement excel.
Donc, je veux d'abord ouvrir excel et mon fichier qui contient toutes mes feuilles appellées ici "nuances".
Voilà le programme que j'ai fait:
Private Sub Fiche_Click()
Dim i As Variant
Dim nuance As String
Shell ("C:\Program Files\Microsoft Office\...\EXCEL.EXE D:\Mes Documents\...programme.xls")
i = 0
For i = 0 To 20
    If UsfRésultats.ListBox2.Selected(i) = True Then
        nuance = UsfRésultats.ListBox2.List(i)
        Sheets("nuance").Activate
        Exit For
    End If
Next i
   
End Sub

Donc, avec "shell" j'arrive à ouvrir excel mais pas mon fichier programme.xls.
En fait, il semblerai qu'il reconnaisse pas l'espace entre "mes" et "documents" et il m'affiche un message d'erreur disant "les fichiers mes.xls n'a pas été trouvé"!
Donc comment faire ouvrir le fichier??


Merci!!
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
28 juin 2007 à 23:39
Essaie plutôt
nuance = UsfRésultats.ListBox2.List(i, 0) ' 0 pour 1ere colonne
Sheets(nuance).Activate ' nuance sans guillemets, c'est une variable

Pour ta 2e question, je ne sais d'où tu essaies d'ouvrir Excel, si tu cherches à interagir avec Excel, tu devrais créer une référence à Excel, puis utiliser des variables-objets pour déterminer le classeur et/ou les feuilles...

Si tu fais une recherche sur
Excel.Application
tu devrais trouver pas mal de codes pour t'aiguiller

MPi
0
wenye Messages postés 2 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 26 mai 2012
26 mai 2012 à 23:15
bonsoir
j'ai une petite gestion: comment on peut afficher les cases à cocher dans "listbox"
et merci bien ^_^
0
Utilisateur anonyme
27 mai 2012 à 01:57
Bonjour,

Tu as sorti un sujet vieux de 5 ans, donc, cela prendrait une petite précision

Quel Listbox:

VB 6 ?
VBA ?
VB.net ?
Autre langage ?
0