ListBox et cases à cocher

Signaler
Messages postés
60
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
23 décembre 2010
-
 Utilisateur anonyme -
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

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
60
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
23 décembre 2010

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…
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
60
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
23 décembre 2010

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!
Messages postés
60
Date d'inscription
mardi 12 juin 2007
Statut
Membre
Dernière intervention
23 décembre 2010

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!!
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
2
Date d'inscription
vendredi 30 mars 2012
Statut
Membre
Dernière intervention
26 mai 2012

bonsoir
j'ai une petite gestion: comment on peut afficher les cases à cocher dans "listbox"
et merci bien ^_^

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 ?