impression des élements d'une listboxmultiselect(+zip)

  • Initiateur de la discussion bichon
  • Date de début
B

bichon

Guest
Bonjour a tous et toutes
J'espere que tjierry et d'autres ne m'en voudront pas mais je met un nouveau sujet
qui est le meme que celui qui est un petit peu plus loin dans le forum
car je met un zip et je veux que tout ceux qui souhaite m'aider puisse y avoir accès
Mon problème est le suivant:
j'aimerai imprimer tout les classeurs excels que j'ai selectionner dans ma listbox2
voila c'est tout (cf zip)
pour l'instant je n'arrive qu'a imprimer le classeur que j'ai selectionné en premier dans
ma listbox2 bien que ma list soit multiselect je selectionne les autres après mais il ne s'imprime
pas voila
aidez moi svp comme le dit thierry ca fait trop longtemps que ca dure lol

voila je remercie d'avance ceux qui résoudront mon problème (qui doit etre dans la boucle for ou if
chf zip) et encore merci

bichon
 

Pièces jointes

  • imprimlistmulti.zip
    18.4 KB · Affichages: 31
A

Alain

Guest
Bonjour,


If Optbase.ListBox2.Selected(i - 1)

Cette ligne signifie que tes fichiers doivent être sélectionnés dans ton ListBox2 or ce n'est pas le cas si tu ne fais que les transférer de ton ListBox1.

Si tu les sélectionne une fois qu'ils sont dans le ListBox2, çà devrait marcher.


@+
 
A

alain

Guest
Bonsoir,

Je crois que c'est encore plus simple que je croyais, il suffit d'enlever le If dans ta procédure d'impression :


' Bouton imprimer

Private Sub CommandButton1_Click()
'MsgBox "En Construction"
Dim i As Byte
Dim NomClasseur As String
For i = 1 To Optbase.ListBox2.ListCount
'If Optbase.ListBox2.Selected(i - 1) Then (A supprimer)
NomClasseur = Worksheets("Baseopt").Cells.Find(What:=Optbase.ListBox2.List(i - 1), After:=ActiveCell, LookIn _
:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:= _
xlNext, MatchCase:=False).Cells(1, 2)

'Ouvrons le fichier correspondant:
Workbooks.Open FileName:="F:\Metachut2003\Optmet\Fichesnomacro\" & NomClasseur

Range("T3").Value = TextBox1.Value
Range("Q2").Value = TextBox2.Value
Range("X2").Value = TextBox3.Value
Range("T2").Value = TextBox4.Value
' imprime classeur actif
ActiveWindow.SelectedSheets.PrintOut Copies:=1
' ferme sans sauvegarder
ActiveWorkbook.Close savechanges:=False
'End If (A supprimer
Next i

End Sub


@+
 
B

bichon

Guest
il me semble que j'ai deja essayé cette solution et qu'elle ne marché pas
mais bon je reesayerai je te tiens au courant merci

ps: je garde la list en multiselect ou je la remet en single?
 
Z

zon

Guest
Bonjour à tous,


Ton fichier fonctionne chez moi, que je selectionne un ou plusieurs fichiers dans ta listbox2 sans les modifs d'Alain.


Le If n'est pas obligatoire, si l'user selectionne les fichiers pour les mettre dans listbox2, il n'a pas besoin de les reselectionner avant de cliquer sur le bouton suite

moi je suis XL2000, tu es à prirori en XL97 mais je pense que le Pb pourrait venir de là: Pourquoi mettre ton USF en mode Non modal ?
Enfin tu n'indiques pas si tu as un message d'erreur ?



A+++
 
@

@+Thierry

Guest
Bonjour Zon, Alain, et JP (le Forum aussi)

Un nouveau post de plus sur cette histoire... Et pour mettre un Zip qui pointe sur MetaMachinChose de ton Disque Dûr...

Bon courage !!

Euh juste une question bête !!
Si je comprends, la Listbox1 est allimentée par le RowSource sur Feuille(1)de l'initialize du UserForm... Ensuite la ListBox2 est allimentée par ce que l'on sélectionne de la ListBox1... (utilises déjà la méthode click pour incrémenter la listbox2) Ensuite il faut faire un Find sur la Feuille(1) pour retrouver ce que l'on a sélectionné de la ListBox2....... Et ben dis donc si VBA devait te faire payer à la tâche inutile !! lol

Moi... Je ferai une ListBoxUnique qui aurait deux colonnes et serait en multisélect et qui ouvrirait directement les fichiers...

Just For the Fun
@+THierry
 
B

bichon

Guest
merci thierry c'est gentil mais je dois suivre un cahier des charges et il se veut que soit doit etre comme ca alors que ca te plaise ou non je suis désolé

merci zon moi effectivement suis sur excel 97 et quand je selectionne un ou plusieurs élements dans la listbox2 si je reselectionne pas le ou les élements dans la listbox2 ben quand je fais suite puis imprimer il n'y a aucune reaction le bouton ne fait rien
alors je comprend pas puisque pas de message d'erreur

tu pense que ca peut venir du mode modal si je le laisse en normal ca pourrait coller?
 
@

@+Thierry

Guest
Rebonjour JP,

Ben alors si c'est le cahier des charges qui est fait comme çà, c'est carrément celui qui fait une telle demande qui devrait peut-être suivre quelque cours de VBA élémentaires, car c'est une usine à gaz qu'il demande.

Ceci dit moi çà me plait, çà fait de l'animation dans le forum tes MetaMachinchoses depuis presque un mois !!! lol

Pour la partie mode non-modal, je confirme que le Mode Non_Modal n'est pas supporté par Excel 97.

Ceci dit, à aucun moment tu n'utilises pas le mode non-modal dans les instructions du fichier "imprimlistmulti.xls", donc c'est une fausse piste, ou alors on parle d'un autre fichier que celui posté en haut de ce fil...

Bon aprèm
@+Thierry

PS le mode non modal est obtenu en lançant un userform de cette manière :
UserForm1.show 0
ou encore
UserForm1.show False
 
Z

zon

Guest
Re,



J'avais décidé de ne plus répondre à tes posts Bichon et ceci pour plusieurs raisons:


1. Tu a posté plusieurs fois le même sujet...

2. Tu as trop rarement répondus aux pistes que l'on te donnait, hier soir encore..., je comprends au bout d'un mois seulement pourquoi tu es en train de monter une usine à gaz...(cahiers des charges que mon prof à la fac m'aurait jeté à la poubelle, c'est la commission de sécurité qui te l'a donné ? LOL)

3. Tes messages sont trop perso: F:\Metachut...., je t'avais conseillé d'utilser des constantes que j'avais mis en place d'ailleurs, comme cela il était possible à tout un chacun de tester ton code en changeant juste la valeur de la constante sans avoir à aller chercher tous les chemins à modifier.

4. Je (nous) ne suis pas prof , je ne suis pas ici pour corriger ta copie, mais juste pour que ton code fonctionne, à toi de l'adapter... Je t'avais déjà fait un message (sans réponse de ta part) sur ce point précis que je n'étais pas développeur.


Enfin, comme tu rencontres des pb particuliers, essaie de les rendre le plus général possible de façon que tout le monde puisse s'en servir, (regarde les démos de Thierry pour t'inspirer, des posts ): Comment imprimer à partir d'un listbox multiselect des ficheirs fermés....
PROCEDER ETAPE PAR ETAPE
RESTER DANS LE MEME FIL, juste le réactualiser si au bout de 2 ou 3 jours sans réponse en donnant plus de détails....

Voilà j'ai déballé ce que j'avais à dire (j'ai passé une mauvaise journée au boulot qui plus est pendant un jour férié, cela tu n'y es pour rien)...



Pour en revenir à nos moutons, tu initialises ton USF saisieinfo en Non modal sous xl97 grace à l'astuce de Laurent Longre, mon idée était de tester ton PB avec une initialisation classique, ici dans ton cas cela veut dire qu'il n'y en a pas.

A+++
 
@

@+Thierry

Guest
Bonjour Zon, Alain, JP et le Forum

Et paf !!!, Je t'avais pourtant prévenu JP, et ceci dès ton (tes premiers posts (Abréviations "Chat"), puis après niveau ("Explications")... Puis à nouveau...("rester dans le même fil")... Puis encore...encore...encore...

Si G'claire à battu différents "records" de ce forum... Toi, tu es le Guiness Man de t'être fait remettre en place par tous les membres actifs... En peu de temps en plus, et à tous les niveaux... C'est dommage...

Comme le dit très justement Zon nous ne sommes pas prof mais de simples bénévols et bénévoles et nous n'avons pas le temps de passer des heures à essayer de résoudre des problèmes que tu t'inventes d'autant plus que toutes les réponses que nous t'avons déjà données ne semblent même pas t'interresser... J'ai essayé avec l'humour de te le faire comprendre dans d'autres fils, mais tu n'as pas attrapé l'occasion...

Pour éviter de faire, par contre, une confusion dans la lectures de se fil, en fait l'astuce de L.Longre (ou ptet de S.Bullen) est une API Windows pour simuler le mode Non-Modal qui n'est pas toléré par Excel 97. D'après ce que d'autres intervenants du Forum ont confirmé, cette API semble passer correctement.

Par conséquent si ce Userform s'affiche, c'est bon. Maintenant je ne vois pas du tout pourquoi tu surcharges avec cette API, vu que ce UserForm n'a pas besoin d'être en simulation Non-Modal dans ce truc !... A moins que ce soit encore sur le dos du cahier des charges...

Allez... mon dernier jour de Boulot et c'est Vendredi !!! puis Zou Wouacances !!!

@+Thierry
 
B

bichon

Guest
je vous remercie pour votre franchise mais pour les posts plusieurs fois les meme je les ai mis puisque mon attente de reponse n'avait pas été conclue
bref en quelques mots j'essayerai de faire un effort dans le changement des sujets d'etre général
je suis désolé je suis encore tres faible en vba donc excuser mon manque de connaissance
a+
 

Discussions similaires

Réponses
8
Affichages
430

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon