Imprimer une listbox en VBA sous Excel [Résolu]

Messages postés
17
Date d'inscription
vendredi 2 décembre 2011
Dernière intervention
15 octobre 2016
- - Dernière réponse : cs_soualem
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
- 25 déc. 2009 à 16:04
bonjour à tou(te)s

je suis novice et j'ai un problème en VBA sous Excel, ou plutot deux problèmes :

- comment désigner simplement une ligne dans une combobox ou une zone de liste ?
- comment imprimer l'intérieur d'une zone de liste apparaissant sur un userform ??

voilà, merci de vos nombreuses réponses :-)


Private void Ssmiling
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Dernière intervention
12 octobre 2008
1
Merci
bonjour

tu peux tester cette macro pour imprimer le contenu d'une ListBox

Private Sub CommandButton1_Click()
Dim Tableau() As Variant
Dim i As Integer
Dim j As Byte

Application.ScreenUpdating = False
Workbooks.Add 'création d'un nouveau classeur temporaire

Tableau() = ListBox1.List
j = ListBox1.ColumnCount
i = ListBox1.ListCount
Range("A1:" & Cells(i, j).Address) = Tableau()

'option pour adapter la largeur des colonnes à la taille des données
'ActiveSheet.Range("A1:" & Cells(i, j).Address).EntireColumn.AutoFit

ActiveWorkbook.PrintOut 'impression
ActiveWorkbook.Close False 'suppression du classeur temporaire
Application.ScreenUpdating = True

End Sub

bonne journee
michel

Merci michelxld 1

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

Codes Sources a aidé 97 internautes ce mois-ci

Messages postés
17
Date d'inscription
vendredi 2 décembre 2011
Dernière intervention
15 octobre 2016
0
Merci
heu re :-)

g oublié de dire ke ma listbox avait 4 colonnes !!!!

merci ;-)


Private void Ssmiling
Messages postés
17
Date d'inscription
vendredi 2 décembre 2011
Dernière intervention
15 octobre 2016
0
Merci
Merci Michel !!!

je teste et je te dis si ça roule ;-)


Private void Ssmiling
Messages postés
17
Date d'inscription
vendredi 2 décembre 2011
Dernière intervention
15 octobre 2016
0
Merci
OK Michel ;-)

ça marche plutot bien !! Merci


Private void Ssmiling
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
0
Merci
j'ai le meme probleme j'ai essai avec se code
il m'affiche variable non definie pour application s'il vous plait aider moi c'est urgent
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bonjour,

c'est le genre de choses qui se produisent lorsqu'un sujet est ouvert indûment sous un thème (ici VB.Net), que la réponse est donnée en VBA (le thème qui aurait dû être celui choisi dès le départ) et que les essais faits en toute bonne foi par un nouveau forumeur qui "prospecte" le forum sous le thème correspondant à son outil de développement (apparemment VB.Net, comme il se doit, en ce qui te concerne), reprennent (bien évidemment) les syntaxes montrées ... et inadaptées à VB.Net !
Tu veux un bon conseil, soualem ? ====>>> ouvre ta propre discussion dans le thème correspondant à ton outil de développement. Tu (et nous tous avec toi) échapperas ainsi à cette situation plutôt comique.

Je ne suis pas (bien au contraire) du tout mécontent de ce que la présqente discussion (et( son évolutiobn) mette à ce point en exergue la nécessité de ne pas mettre dans un même sac toutes les carottes et tous les navetts de la terre. On voit ici fort bien où celà aboutit ...




____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
0
Merci
merci beaucoup pour ces conseil mais je suis obligee de terminer mon application avec vb6
car je ne peut pas revenir en arriere s'il vous plait si tu as un moyien de migrer de vb.net vers vb6 montrer moi comment ca se fait merci de votre attention
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
0
Merci
salut pour tous le monde
mon programme ne connait pas les variable d'exel tels que cellule,range,exel.range je ne sait pas ou est le probleme est ce que je suis obligee de changer l'outil de travail?
mon probleme c'est la mise en page d'une listbox
lors de l'impression
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Re...
ce que tu ne sembles apas avoiur compris :
- la présente discussion a été ouverte A TORT sous VB.Net
- elle concernait finalement VBA/Excel (et donc pas VB.Net ... ni VB6, d'ailleurs !)
- la solution qui y figure est donc une solution VBA/excel (et elle n'a rien à voir ni avec VB6 ni avec VB.Net)
- celuui qui a donné cette solution a à mon humble avis eu tort de le faire tant que la discussion n'"étauit pas ouverte dans le thème adéquat (et on voit ici bien pourquoi, maintenant...)
Une autre fois : ouvre ta propre discussion, en te gardant de commettre à ton tour ce genre d'erreur en ce qui concerne le choix du thème.
Voilà ... (et tenant moi-même à l'observation de cette discipline dont on voit fort bien la raison évidente ici, ce n'est certes pas là que je contribuerai à la recherche de ta solution... désolé !)
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
0
Merci
merci je veut un lien qui m'amene à la discution en vb6
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
0
Merci
j'ai le meme probleme mon code ne connait pas exel.range,cellule,worksheet je ne sait pas ou est le probleme
voila mon code
Dim Tableau() As Variant
Dim i As Integer
Dim j As Byte
Dim Application As Object
Application.ScreenUpdating = False
Workbooks.Add 'création d'un nouveau classeur temporaire
Tableau() = ListBox1.List
j = ListBox1.ColumnCount
i = ListBox1.ListCount
Range("A1:" & Cells(i, j).Address) = Tableau()

'option pour adapter la largeur des colonnes à la taille des données
'ActiveSheet.Range("A1:" & Cells(i, j).Address).EntireColumn.AutoFit

ActiveWorkbook.PrintOut 'impression
ActiveWorkbook.Close False 'suppression du classeur temporaire
Application.ScreenUpdating = True
Messages postés
21
Date d'inscription
jeudi 16 juillet 2009
Dernière intervention
2 mai 2010
0
Merci
est ce que mon probleme est ma pose ou personne ne veut m'aider je travaille avec vb6 et une base de donnees mysql
Dim Tableau() As Variant
Dim i As Integer
Dim j As Byte
Dim cells As String
Dim Application As Object
Application.ScreenUpdating = False
Application.Workbooks.Add 'création d'un nouveau classeur temporaire
Tableau() = ListBox1.List

j = ListBox1.ColumnCount
i = ListBox1.ListCount


'option pour adapter la largeur des colonnes à la taille des données
'ActiveSheet.Range("A1:" & Cells(i, j).Address).EntireColumn.AutoFit

Application.ActiveWorkbook.PrintOut 'impression
Application.ActiveWorkbook.Close False 'suppression du classeur temporaire
Application.ScreenUpdating = True

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.