IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[vba E] Scrollbar listbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 512
    Par défaut [vba E] Scrollbar listbox
    Bonjour à tous.

    Une petite question est il possible de diminuer la largeur d'une scrolbar verticale d'une listebox, vu que je n'ai que des chiffre de 1 à 5 dans la liste et de la scrollbar parait enorme et prend beaucoup de place pour pas grand chose.

    Si quelqu'un sait si c'est possible ou pas.

    Merci d'avance.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Comme je ne vois aucune suggestion, je vais en faire une sans savoir ce que ça peut donner au niveau du code (jamais fait ça)
    J'imagine une listbox sans scollbar avec, à côté, un scollbar indépendant de la largeur désirée par toi
    Tu fixes "l'unité" de déplacement du scrollbar de son déplacement total / le nombre de lignes de ton textbox (faudra pas qu'il soit trop long )
    Pour chaque déplacement d'une "unité" du scrollbar, tu changes l'index de ta listbox.
    C'est possible ?
    Si j'ai un moment, je testerai ça
    Bonne chance


    En espérant tout de même que tu trouveras une solution plus simple

  3. #3
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 512
    Par défaut
    Ok j'ai a peu pres piger ou tu veux en venir j'ai aucune idée moi non plus de comment le realiser mais je vais chercher.

    Merci pour ton info ouskel'n'or.

    Mais bon si quelqu'un d'autre à une idée Faut pas ésiter.

    Merci d'avance.

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Ousk a dit :
    J'imagine une listbox sans scollbar
    C'est possible, çà, sous VBA ? (pas sous VB, en tous cas...)

  5. #5
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 512
    Par défaut
    J'ai pas reussi non plus mais j'essaie avec un textbox multiligne, mais je sais pas si ça peut fonctionner!

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par ousk'"
    le nombre de lignes de ton listbox (faudra pas qu'il soit trop long
    Si la dimension du listbox permet d'afficher toutes les données de la liste, la listbox n'a pas d'ascenseur
    Excuse cette réponse tardive mais je rentre du resto à la fraiche (on a presque eu froid (!)
    Bref, si ta liste dépasse la taille de la listbox, faut pas y compter.
    Utiliser un textbox ? Hi ! Comment tu vas faire la sélection ?
    J'avoue que sur ce coup là je sèche un peu... A moins que... Je vais essayer quelque chose mais comme je n'ai pas envie d'avoir des réflexions désagréables, je t'en parlerai demain
    Bonne soirée
    A+

  7. #7
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Peut-on m'expliquer ceci ?
    citation 1)

    J'imagine une listbox sans scollbar avec, à côté, un scollbar indépendant
    citation 2)
    Tu fixes "l'unité" de déplacement du scrollbar de son déplacement total / le nombre de lignes de ton textbox (faudra pas qu'il soit trop long )
    Pour chaque déplacement d'une "unité" du scrollbar, tu changes l'index de ta listbox.
    citation 3)
    Si la dimension du listbox permet d'afficher toutes les données de la liste, la listbox n'a pas d'ascenseur
    Je me gratte vraiment la tête (et sans smiley, là...)


    EDIT : il est toujours possible d'utiliser une Textbox multiligne sans scrollbar et de lui accoler une scrollbar indépendante....
    Pourquoi pas ? .... mais :
    - il va falloir séparer des lignes par un retour à la ligne pour pouvoir les retrouver sans problème (j'en ai déjà parlé dans un autre sujet)
    - l'ascenseur plus "maigre" va coûter sacrément cher en gestion (c'est évident) pour plusieurs raisons....tant au remplissage qu'à l'exploitation.

    Alors : si zouzoum veut vraiment une telle usine à gaz, elle est réalisable, oui... mais il en assumera seul la responsabilité...

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je me gratte vraiment la tête (et sans smiley, là...)
    Je suis franchement marri que tu aies raison je n'avais pas approfondi. Mais on peut pas gagner à tous les coup. Heureusement que j'avais précisé
    Comme je ne vois aucune suggestion, je vais en faire une sans savoir ce que ça peut donner au niveau du code (jamais fait ça)
    Citation Envoyé par jmf
    il va falloir séparer des lignes par un retour à la ligne pour pouvoir les retrouver sans problème
    Je voyais un tableau des lignes du textbox pour gérer plus facilement la sélection, mais comme tu dis, ce serait faire d'un truc simple une usine à gaz... Mais c'est possible
    Si vous avez une autre idée...

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Bonjour Ousk, et pardonne-moi (je suis plus du matin que de la nuit).

    Bon...

    Oui, j'ai une idée. Mais elle relève une fois de plus beaucoup plus d'une gymnastique de l'esprit que de la syntaxe informatique.

    Alors :

    - la scrollbar de la listbox cachée par un cadre (sans bordure de préférence)
    - dans le cadre, du côté de la listbox : une scrollbar indépendante
    - dans l'événement scroll de cette scrollbar indépendante : on joue avec le topindex de la listbox (par rapport à la propriété Value de la scrollbar)

    Le tour est ainsi joué (encore que je n'aime pas cette acrobatie à 4 sous qui viendra alourdir l'appli pour bien peu...)

    Je te laisse faire ce petit bout de code, à moins que tu ne préfères que je fasse celà.

    Bonne journée à tous

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Juste une question.

    Une ComboBox ne conviendrait-elle pas mieux pour ce genre d'application?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Bonjour Alain,

    Bien évidemment !...

    Bon...
    Si zoumzoum y tient vraiment, à la listbox et une scrollbar indépendante "toute maigre" et puisque Ousk n'est pas là, voilà le code qui va avec ce que j'ai exposé plus haut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub VScroll1_Change()
      VScroll1.Max = List1.ListCount - 1
      List1.TopIndex = VScroll1.Value
    End Sub
    Private Sub VScroll1_scroll()
      VScroll1_Change
    End Sub

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    C'est vraiment marrant.... pas de réactions ?
    J'avais pourtant ouvert la voie, il me semble...

    Bon, c'est donc jmf qui va répondre à jmf :

    Allons donc, jmf ! Mal réveillé ?
    Nul besoin de code et d'une scrollbar indépendante pour ce faire !
    Tu places ton cadre "occultant" de sorte à ce qu'il ne cache qu'une moitié de la scrollbar de la listbox, scrollbar que tu utilises directement, sans code supplémentaire .

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Hello jmf,
    Citation Envoyé par Tu
    - la scrollbar de la listbox cachée par un cadre (sans bordure de préférence)
    J'avais pensé à cette solution mais l'inconvénient est que l'ascenseur a une bordure d'une certaine épaisseur de part et d'autre. Le cadre masquerait la bordure d'un côté et ce serait pas beau... Mais bon... Cependant, il reste un autre problème : je crois me souvenir que zoumzoum59 a une image de fond sur son form, d'où nécessité d'un cadre transparent et problème par résolu du tout
    Je crois qu'on tourne en rond et à moins de fabriquer un listbox de toutes piéces...

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    d'où nécessité d'un cadre transparent et problème par résolu du tout
    problème déjà parfaitement résolu pour image de fond placée dans le coin supérieur gauche
    Si placée ailleurs : attend depuis plusieurs jours un calcul arithmétique élémentaire (pour le Move) que n'importe quel possesseur de VBA un tant soit peu alerte pourrait faire.

  15. #15
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je m'en doute, je m'en doute... mais si le cadre est transparent, alors il ne masquera pas la partie du scrollbar qu'il est censé masquer... Si ? Alors j'ai besoin d'une explication, ce coup-ci

  16. #16
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    alors il ne masquera pas la partie du scrollbar qu'il est censé masquer... Si ? Alors j'ai besoin d'une explication, ce coup-ci
    Si, justement ... SI ! SI ! (je te rappelle que le cadre a la propriété Zorder 0...

    Tu as encore besoin d'explications, dis-tu ....

    Mieux que des explications : mets en oeuvre (d'autres l'ont fait sans problème...)

  17. #17
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Quelque soit le Zorder, si le cadre est transparent, il cache quoi ? J'ai effectivement besoin d'explications. Et n'hésite-pas, qu'elles soient exhaustives sinon je sens bien que j'en aurai besoin de nouvelles

  18. #18
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Ousk, et avec toute mon amitié :

    Je suis fatigué, maintenant ....

    Le cadre n'EST PAS TRANSPARENT !
    Tu n'en as que l'impression et l'effet est le même.... mais il N'EST PAS TRANSPARENT.
    ]Relis calmement les explications données par mes messages précédents concernant cette "transparence" : il ne s'(agit que d'un mécanisme de la pensée :
    Dans le cadre (une autre fois NON TRANSPARENT) est placée une image qui reprend tout bêtement la portion d'image qui se trouverait à cet endroit si le cadre n'existait pas ! Cette portion d'image est indépendante (totalement) de ce qui se trouve sur la Form, hormis l'image (propriété Picture) de la Form.

    Comment faut-il t'expliquer les choses ?

    Je vais essayer pour toi :

    imagine une grande feuille de papier sur laquelle tu as mis une image.
    Imagine maintenant que tu place sur cette feuille de papier une planche rectangulaire, à un endroit que tu choisis.
    Imagine que tu mettes sur cette planche une image udentique à celle qui se trouve sur la Form.
    Imagine enfin que tu fasses "glisser" sur ta planche l'image qui s'y trouve, jusqu'à faire coincider la portion correspondant à ta plance avec l'image qui se trouve sous ta planche.
    Imagine maintenant que tu coupes ce qui dépasse de la planche (inutile en VP car ce qui est en dehors de la planche n'est tout simplement pas visible).
    Imagine maintenant que tu regardes le tout depuis 3 mètres de haut, à la perpendiculaire : tu aurais l'impression de ce qu'il n'y a pas de planche, l'image étant continue en tous points, bien que la planche (NON TRANSPARENTE EN REALITE) soit toujours là !

    C'est maintenant compris ?

    Imagine maintenant que tu places sur ta planche des objets (un pièce de monnaie, une auto miniature, ..etc....) : que verras tu Comme résultat final ? une image continue avec ces objets visibles...

    C'est là tout le mécanisme de la chose.... pas plus... et c'est efficace...

    Essaye d'oublier l'informatique... pense et repense à cette planche placée sur une feuille... c'est tout et c'est tout bête. Je regrette de ne pas être près de toi, sur ta machine, pour y aller pas à pas et te montrer physiquement cette évidence....

  19. #19
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai tout bien compris, merci jmf Sauf que ta planche, elle va avoir un effet "loupe grossissante" si l'image de fond du form n'a pas exactement la taille du form. Je te renvoie à mes essais "ici" et là je n'ai mis que ceux qui donnaient quelque chose
    Mais bon, je ne vais pas repartir là-dessus. Je voulais seulement être bien certain qu'on parlait bien de la même chose.
    Mais laissons à zoumzoum59 faire ses propres expériences
    zoumzoum59, pour la méthode préconisée par jmf, c'est "là"
    Bonne chance et bon courage

  20. #20
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Ousk,

    J'ai fait des essais sur la machine du voisin.... avec une image qui n'avait pas la taille de la Form, précisément...

    Je ne peux regarder (sans VBA) ton code et la façon dont tu places une image sur ta Form (par la propriété picture de ta Form... en haut et à gauche, sans zoomer...)

    Désolé...

    Je vais maintenant faire ma sieste, mais t'invite, si tu as VB, à tester le zip que j'ai mis à ce sujet dans la rubrique Contributions... celà t'éclairera sur l'agilité et les ouvertures de cette méthode (je l'espère...)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VBA-E] Choix listbox assisté
    Par Antichoc dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/02/2007, 22h03
  2. [VBA-E]Problème Listbox et path
    Par captaine93 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2006, 11h00
  3. [VBA-E] et listbox
    Par rouls dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/05/2006, 20h34
  4. [VBA] Envoyer un listBox en paramètre à une fonction
    Par kissmytoe dans le forum Access
    Réponses: 8
    Dernier message: 13/03/2006, 20h28
  5. [VBA-A]Remplissage ListBox
    Par cuicui08 dans le forum VBA Access
    Réponses: 18
    Dernier message: 27/02/2006, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo