Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Listbox dernière ligne visble a l'initialization

  • Initiateur de la discussion Initiateur de la discussion abtony
  • 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 !

abtony

XLDnaute Impliqué
Bonjour tout le monde,

Comment faire a l'initialization de mon userform et de ma listbox, pour que ce soit la dernière ligne de celle ci qui soit visible ?

merçi d'avance
 
Re : Listbox dernière ligne visble a l'initialization

Ok!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

On va finir par y arriver...😀🙂

Il faut modifier la définition de tableau en l'adaptant au nombre de lignes de ton devis avec un truc du genre :
Code:
Private Sub UserForm_Initialize()
Set tableau = Range("A1:P" & Range("A65350").End(xlUp).Row)
ListBox1.List = tableau.Value
ListBox1.ListIndex = ListBox1.ListCount - 1
End Sub
Cordialement
 
Dernière édition:
Re : Listbox dernière ligne visble a l'initialization

Re

qu'entends tu par :

quand je rentre une nouvelle ligne l'userform se réinitialize et avec votre code ca me sélectionne la ligne 359 de mon tableau et pas la dernière ligne de saisie.

comment ton USF se réinitialise t il ? tu lances un code ? tu l'affiches ? il était masqué ? a priori si les données source ont changées, il faut ré-alimenter la listbox, soir avec un "AddItem", soit après un "clear" renvoyer la nouvelle liste de valeur, enfin c'est ce que je comprends...


bonne soirée
@+

Edition : re Spitnolan, n'avais pas vu ta dernière intervention... 🙂 @+
 
Re : Listbox dernière ligne visble a l'initialization

Re,

ca fait une heure que j'essaye dans tout les sens et ca fonctionne pas !

si je met ce code

Set tableau = Range("A30😛" & Range("A65350").End(xlUp).Row)
ListBox1.List = tableau.Value
ListBox1.ListIndex = ListBox1.ListCount - 1

ok il sélectionne la ligne 360 ou c'est inscrit Récapitulatif du devis

si je met

Set tableau = Range("A30😛" & Range("A359").End(xlUp).Row)
ListBox1.List = tableau.Value
ListBox1.ListIndex = ListBox1.ListCount - 1

dans la listbox il affiche uniquement une ligne (la première) ?????? a rien y comprendre

si j'eassaye ça

Set tableau = Range("Débours").End(xlUp).Row
ListBox1.List = tableau.Value
ListBox1.ListIndex = ListBox1.ListCount - 1

j'ai une erreur sur tableau (variable non définie)

voila ou j'en suis
 
Re : Listbox dernière ligne visble a l'initialization

Re

si tu mets cela :

Code:
Set tableau = Range("A30:P" & Range("A359").End(xlUp).Row)

et que tes cellules A30 à A359 sont renseignées, c'est normale qu'il ne te renvoie que la valeur der A30. Puisque tu lui dis de prendre à partir de A30, et de remonter sur la première cellule non vide en remontant à partir de la A359, donc il trouve à nouveau A30....

donc privilégies la ligne ci dessous :

Code:
Set tableau = Range("A30:P" & Range("A65350").End(xlUp).Row)

@+
 
Re : Listbox dernière ligne visble a l'initialization

re pierrot93,

tu ma aidé a comprendre mon erreur, dans la colonne A j'ai des formules jusqua la ligne 359,

si je supprime ces formules ca sélectionne bien la dernière ligne de données.

Mais je vais devoir me passer de ces formules ou alors trouver une autre astuce !

si tu a une idée elle sera a bienvenue
 
Re : Listbox dernière ligne visble a l'initialization

Re,

Je reprends le fil...
Si une de tes colonnes A à P ne contient pas de formule mais est systématiquement renseignée alors prend la pour définir le bas de ton tableau.
Je ne sais pas si c'est clair...? Tu nus dit.

Cordialement
 
Re : Listbox dernière ligne visble a l'initialization

Re

comprend pas trop, qu'il y ai formule ou pas dans les cellules, lors de l'initialisation c'est du pareil au même, enfin il me semble...

regarde le fichier joint :usf avec 2 listbox, une alimentée à partir de la feuille 1 sans formule, l'autre à partir de la feuille 2 avec formule (liaisons). Un bouton te permet d'ajouter une ligne de données sur la feuille 1, et celui ci réinitialise en même temps la listbox 1.

A voir si cela peut t'aider.

bonne soirée
@+
 

Pièces jointes

Re : Listbox dernière ligne visble a l'initialization

Bonsoir stipnolan08,

la seule colonne qui peu être vide est justement la A les autres a la suite de la ligne 359 contiennent des données de pieds de page, récapitulatif de toutes les tranches de prix "sous totaux par tranches" total HT et TCC ect....

donc faut que je trouve une astuce pour insérer la formule au même temps que l'ajout d'un ouvrage, je regarder justement comment traduire la formule en vba

=SI(C65>0;A64+0,1;"")

a chaque ajout d'ouvrage ca me numérote la ligne de la colonne A avec ce type de chiffre 5.01 5.02 et ainsi de suite

merci
 
Re : Listbox dernière ligne visble a l'initialization

Bonsoir pierrot93,

une fois que j'ai supprimer les formules de la colonne A de la dernière ligne de donnée a la ligne 359 de la même colone votre code VBA a parfaitement fonctionner, c'est moi qui m'en était pas rendu compte ! les formules sont a priori considérer par vba comme une entrée dans la cellule et donc non vide !

c'est la raison pour laquelle je me retrouvé toujours en dernière ligne de ma plage a30😛359

PS: sur ton fichier tu na pas de formules !

si je met une formule en colonne A sur ton tableau et je recopie vers le bas de quelques lignes tu vera que ta listbox tiendra compte de ces formules !

=SI(A364="";"";A363+1) d'ou mon problème de cet apres midi lol

merci a vous
 
Re : Listbox dernière ligne visble a l'initialization

Re,

Si tu remplis ton devis par macro comme cela me semble il te suffit de remplacer les formules de la colonne A par une incrémentation via ton code. A chaque fois que tu rajoutes un item tu incrémentes de 1 la colonne A et tu l'inscrit en valeur. Ainsi seules les lignes de devis ayant une réalité auront un numéro.

Cordialement
 
Re : Listbox dernière ligne visble a l'initialization

Bonsoir tout le monde,

je reviens avec mon petit soucis de denière ligne de donnée sur ma listbox, qui fonctionne mais me crée des petit soucis d'affichage !

actuellement j'ai ceci

tableau = Range("Débours")
ListBox1.List = tableau


avec ceci je me range sur la dernière ligne de donnée saisi dans la listbox

'tableau = Range("A30😛" & Range("A359").End(xlUp).Row)
'ListBox1.List = tableau
'ListBox1.ListIndex = ListBox1.ListCount - 1

est il possible d'ecrire cette dernière commande en bleu en mettant Débours ce qui corespond a la même plage ?

merci pour vos réponses
 
- 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

Réponses
5
Affichages
179
Réponses
2
Affichages
112
Réponses
1
Affichages
307
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
522
Réponses
10
Affichages
512
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…