TAZ59
-
26 oct. 2001 à 21:59
younespoumon
Messages postés3Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention21 avril 2010
-
21 avril 2010 à 18:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
younespoumon
Messages postés3Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention21 avril 2010 21 avril 2010 à 18:06
Bonjour,
J'ai un fichier excel d'une seule feuille, à l'interieur y a un formulaire, je dois mettre une liste déroulante à plusieurs choix, et quand l'utilisateur selectionne un champ, implicitement les données relatives a ce champs reste et les autres se cachent.
Comment faire ça??
Merci d'avance et de prendre en considération que je suis débutante en VBA.
Timi493
Messages postés6Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention29 avril 2011 29 mai 2009 à 17:02
j'ai trouvé, c'est très bête ce n'est pas la ligne :
ligne = 2 + ListBox1.ListIndex
qui ne fonctionne pas mais celle du dessous
ActiveCell = Cells(ligne, 1)
il y avait un oublie "Feuil2" comme ceci
ActiveCell = Feuil2.Cells(ligne, 1)
il faut pas grand chose pour passer du temps parfois !!!
mon code si simple sera peut être utile à d'autres.
Timi493
Messages postés6Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention29 avril 2011 29 mai 2009 à 14:59
Bonjour,
J'ai un classeur avec 2 feuilles.
Sur la feuil1 figure une listbox et deux boutons, 1 qui charge (dans la listbox), une liste d'articles contenus dans la colonne B et l'autre qui la vide.
Ensuite quand une cellule de la feuil1 est sélectionnée et que je double clic sur un des articles de la listbox la cellule activée écrit la référence de l'article situé dans la colonne A.
Tout marche bien quand les listes des colonnes A et B sont sur la feuil1 mais si je les place sur la feuil2 je peux charger ou vider ma listbox avec les doutons mais le double clic ne fonctionne pas.
Je n'arrive pas malgré mais recherches a trouver la bonne syntaxe pour lui dire de charger la référence de la colonne A feuil2.
En fait je voudrais faire référence à une feuille d'un autre classeur.
Voici mon code actuel.
Je suis sure d'être prêt du but.
Merci, cela m'aidera beaucoup.
Code dans vba feuil1
'Chargement liste
Private Sub CommandButton1_Click()
ListBox1.Clear
ComboListe
End Sub
'Vidage liste
Private Sub CommandButton2_Click()
ListBox1.Clear
End Sub
'Transfer pas double clic
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ligne = 2 + ListBox1.ListIndex '<== ligne qui ne fonctionne pas
ActiveCell = Cells(ligne, 1)
End Sub
Code dans module1
Sub ComboListe()
ligne = 2
Do Until Feuil1.Cells(ligne, 2) = "" And _
Feuil2.Cells(ligne + 1, 2) = ""
Feuil1.ListBox1.AddItem Feuil2.Cells(ligne, 2)
ligne = ligne + 1
Loop
End Sub
BassoV13
Messages postés3Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention 6 septembre 2006 23 mai 2007 à 12:23
Salut merci pour la source :)
Juste pour simplifier un peu le code et pour permettre d'exporter une listview qui contient plusieurs colonnes :
--------------------------------------------------------
Private Sub cmdListEXCEL_Click()
Dim Appli As New Application
Dim i, j As Integer
Appli.Visible = True
Appli.Workbooks.Add.Activate
'Parcours des lignes du listview
For i = 1 To Lv.ListItems.Count - 1
'Parcours des colonnes du listview et traitement
For j = 1 To Lv.ColumnHeaders.Count - 1
With ActiveWorkbook.Worksheets("Feuil1")
.Cells(i, j) = Lv.ListItems(i).SubItems(j)
End With
Next
Next
MsgBox "Importation terminée.", vbInformation + vbOKOnly, "Fichier Texte -> Classeur EXCEL"
End Sub
----------------------------------------------------------
Salut,
ce code me parait intéréssant,mais pour un utilisateur de VB,et il possible de faire l'inverse; récupérer les données d'une feuille excel et les inssérer dans une base acess
merci d'avance pour la reponce
21 avril 2010 à 18:06
J'ai un fichier excel d'une seule feuille, à l'interieur y a un formulaire, je dois mettre une liste déroulante à plusieurs choix, et quand l'utilisateur selectionne un champ, implicitement les données relatives a ce champs reste et les autres se cachent.
Comment faire ça??
Merci d'avance et de prendre en considération que je suis débutante en VBA.
29 mai 2009 à 17:02
ligne = 2 + ListBox1.ListIndex
qui ne fonctionne pas mais celle du dessous
ActiveCell = Cells(ligne, 1)
il y avait un oublie "Feuil2" comme ceci
ActiveCell = Feuil2.Cells(ligne, 1)
il faut pas grand chose pour passer du temps parfois !!!
mon code si simple sera peut être utile à d'autres.
29 mai 2009 à 14:59
J'ai un classeur avec 2 feuilles.
Sur la feuil1 figure une listbox et deux boutons, 1 qui charge (dans la listbox), une liste d'articles contenus dans la colonne B et l'autre qui la vide.
Ensuite quand une cellule de la feuil1 est sélectionnée et que je double clic sur un des articles de la listbox la cellule activée écrit la référence de l'article situé dans la colonne A.
Tout marche bien quand les listes des colonnes A et B sont sur la feuil1 mais si je les place sur la feuil2 je peux charger ou vider ma listbox avec les doutons mais le double clic ne fonctionne pas.
Je n'arrive pas malgré mais recherches a trouver la bonne syntaxe pour lui dire de charger la référence de la colonne A feuil2.
En fait je voudrais faire référence à une feuille d'un autre classeur.
Voici mon code actuel.
Je suis sure d'être prêt du but.
Merci, cela m'aidera beaucoup.
Code dans vba feuil1
'Chargement liste
Private Sub CommandButton1_Click()
ListBox1.Clear
ComboListe
End Sub
'Vidage liste
Private Sub CommandButton2_Click()
ListBox1.Clear
End Sub
'Transfer pas double clic
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ligne = 2 + ListBox1.ListIndex '<== ligne qui ne fonctionne pas
ActiveCell = Cells(ligne, 1)
End Sub
Code dans module1
Sub ComboListe()
ligne = 2
Do Until Feuil1.Cells(ligne, 2) = "" And _
Feuil2.Cells(ligne + 1, 2) = ""
Feuil1.ListBox1.AddItem Feuil2.Cells(ligne, 2)
ligne = ligne + 1
Loop
End Sub
23 mai 2007 à 12:23
Juste pour simplifier un peu le code et pour permettre d'exporter une listview qui contient plusieurs colonnes :
--------------------------------------------------------
Private Sub cmdListEXCEL_Click()
Dim Appli As New Application
Dim i, j As Integer
Appli.Visible = True
Appli.Workbooks.Add.Activate
'Parcours des lignes du listview
For i = 1 To Lv.ListItems.Count - 1
'Parcours des colonnes du listview et traitement
For j = 1 To Lv.ColumnHeaders.Count - 1
With ActiveWorkbook.Worksheets("Feuil1")
.Cells(i, j) = Lv.ListItems(i).SubItems(j)
End With
Next
Next
MsgBox "Importation terminée.", vbInformation + vbOKOnly, "Fichier Texte -> Classeur EXCEL"
End Sub
----------------------------------------------------------
26 oct. 2001 à 21:59
ce code me parait intéréssant,mais pour un utilisateur de VB,et il possible de faire l'inverse; récupérer les données d'une feuille excel et les inssérer dans une base acess
merci d'avance pour la reponce