Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 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
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 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 ?
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 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.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 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
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 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!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tiatia63
Messages postés60Date d'inscriptionmardi 12 juin 2007StatutMembreDernière intervention23 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??
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 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