Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
Icône de la ressource

VBA - Scroll en Controls ActiveX & UserForm (ListBox, ComboBox, TextBox, UserForm, Frame, MultiPage) V16

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

En fait, je viens de publier la version 15B qui corrige des lacunes de la version 15. Et ça n'est pas simple !
Scroll Up & Down sont maintenant 100% gérés en décalage de ScrollBar.
Le mode mixte est conservé: si on clique au milieu de la TextBox on passe en mode décalage ligne.
Le retour sur la 1ère ou la dernière ligne de la TextBox annule le mode décalage ligne et réactive donc le décalage de ScrollBar.
 
c'est ça et la formule est simple
Essaie de le coder en partant de zéro et tu verras si c'est simple !

Je me suis brulé les neurones sur ce truc qui m'a pris plusieurs heures de mise au point.
Je suis d'abord parti sur des calculs génériques de lignes à décaler avec des Modulo et autres Int() de divisions.
Mais ce n'était pas la bonne approche.
Si tu regardes le code résultant, tu auras sans doute du mal à rentrer dedans.
Pour moi c'est progressivement que je suis arrivé à ce résultat.
 
le truc est simple
nbligne= le height / par le fontsize*1.2(c'est approximatif)
la current ligne visible =curline mod nbligne
parti de la puisque tu a nbligne de sais de combien il faut descendre ou monter selon le sens du scroll avant de scroller
dans mon calcul j'utilise le Int pour avoir que l'entier
 
Pour @abdououbale et toute personne intéressée,

ComboBoxes dynamiques et Scroll selon le Tag.
Le Tag est "SCROLL" pour les ComboBoxes créées avec un indice impair.
Une version un peu plus sophistiquée qui gère tous les Controls Scrollables (**) et, à titre de gadget, ajoute les titres des ComboBoxes dans les ComboBoxes en utilsant cette ressource.

(**) Et plus simple aussi puisque l'appelant (le UserForm) n'a pas à gérer un tableau des instances de classe mais une seule car c'est la classe qui gère la Collection de toutes les instances.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…