Microsoft 365 utiliser une ListView

Electron24

XLDnaute Occasionnel
Bonjour le Forum,

Je reviens vers vous (J'aurais pu utiliser le Fil précédent) dans un nouveau post pour avoir un renseignement sur le remplacement d'un txtBox (Txt_Participants) par une ListView. Ce qui me permettrait d'avoir une meilleur lisibilité dans le formulaire (Alignement des données.
J'ai essayé plusieurs possibilités mais sans succès. Je galère comme un "ouf"
Je serai ravi d'avoir de l'aide.
Merci d'avance
 

Pièces jointes

  • Classeur1 (26).xlsm
    96.8 KB · Affichages: 97
Solution
Bonjour Guy
Bonjour le Fil ,le Forum
Tu as effectivement modifié pas mal de Chose Lol
j'ai bien sûr un message d'erreur (chemin des Images) au lancement (normal c'est ton chemin d'accès ).
Ensuite erreur sur Frm_Image que je n'ai pas trouvé Lol
Arfffffff Frm_Image c'est le Userform excuses ! (j'aurais mis Usf_Image Lol)
il te faut aussi faire quelques réglages (largeurs Colonnes ListViews)
Peu de gens vont pouvoir tester ton Fichier.
mais si c'est ok pour toi !
mets le Post en Résolu !
Bonne journée
jean marie

Electron24

XLDnaute Occasionnel
Bonjour ChtI160, Bonjour soan et bonjour le Forum
Ravi que tu prennes soin de nous soan, oui je bricole mais ne t’inquiète pas pour l'électricité, je suis au courant, avec mes 33 années de pratique. ;)
Par contre, j'ai un souci avec mon classeur, je bloque sur la fonction "FOR"
Comme la liste des participants ne commence jamais à la même ligne, du fait que le nombre d'étapes est différent d'une année à l'autre. Je ne trouve pas la bonne formule
Bonne journée à tous.
 

ChTi160

XLDnaute Barbatruc
Re
Je suis chez ma fille
Un instant propice à réfléchir lol
On pourrait faire la récupération par le bas .
Si on connaît le nombre de coureurs
On peut définir la plage.

Si DrLgn=100 et 40 coureurs
Premier ligne : PrLgn = 100-40=60
Tablo = Range(.Cells( PrLgn,Col),.Celles(DrLgn,Col)).Value
Je regarde des que possible!
Jean marie
 

Electron24

XLDnaute Occasionnel
Re,

Voila ce que je propose :
On a le nombre d'étapes dans "Txt_Nb_Etapes" ce qui nous permet de faire une boucle en sachant que la première étape commence toujours sur la ligne 39 et qu'il faut 12 lignes par étape. (1 ligne pour l'étape, 10 pour le classement et 1 ligne pour l'espacement
En partant de ce principe si je prends l'exemple pour l'année 1903 (6 étapes soit 6x72) soit une boucle sur 72 lignes ainsi on fini la boucle sur le dernier espacement de la dernière étape.

En suivant ce raisonnement (j'espère que tu me suis :p), on reprend le nombre de lignes utilisées pour les étapes on y ajoute 2 lignes d'espacement et on a donc la ligne de départ du premier participant. Sur ce on ajoute le nombre de coureurs que l'on a dans "Txt_Coureurs" et on fait une boucle sur le résultat pour y inscrire tous les participants.
Qu'en penses tu ?
J'y travaille dessus mais je n'arrive pas à incorporer la méthode pour inscrire les lignes dans les ListView.
 

soan

XLDnaute Barbatruc
Inactif
Bonjour Electron, Jean-Marie, le fil,

Moi, j'ai bien suivi ton raisonnement ; sauf qu'au lieu de « (6 étapes soit 6x72) »,
tu aurais dû écrire : « (6 étapes soit 6 × 12 lignes = 72 lignes) ».

Pour faire le caractère « × » : appuie sur la touche Alt et maintiens-là enfoncée ;
tape 0215 sur le pavé numérique ; relâche la touche Alt.

----------------------------------------------------------------------------------------------

J'dois t'avouer quelque chose : quand j'étais gosse, mes parents m'avaient emmené
faire un pique-nique ; et dans le pré d'à-côté, y'avait d'jolies vaches ; alors moi, tout
bêtement, j'ai voulu aller les caresser : j'm'approche de la clôture, et par mégarde,
j'touche une vieille petite boîte de conserve toute rouillée, qui y était accrochée ;
j'te rassure : j'ai pas attrapé l'tétanos ; par contre, j'ai reçu illico presto une bonne
petite décharge électrique, car manque de pot, y'avait aucun panneau sur la clôture
pour avertir qu'elle était électrifiée ! :eek:o_O


soan
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour soan
Bonjour Electron24 ,le Forum
soan , je vois que tu vas bien (tu n'as pas de séquelles)
Guy ,
je viens de regarder ton fichier et je constate que ma proposition n'est pas bonne car le Nombre de Participants ne correspond pas au Nombre des Coureurs partants :
j'ai aussi remarqué que tu as mis les Participants au niveau de la Ligne 299 est ce la Ligne qui pourrait être la ligne commune (départ) à toutes les Années ?
Bonne journée
jean marie
 
Dernière édition:

Electron24

XLDnaute Occasionnel
Bonjour soan, Bonjour ChtI160 et Bonjour le Forum,

Soan doit certainement se reposer après ce long roman édité à 3h15.
Pour l'anecdote, cela m'est arrivé aussi. Cela ne m'a pas empêché d’être électricien et de prendre des châtaignes en 240v et 380v aussi.
Pour en revenir à mon projet, c'est vrai que je change beaucoup d'avis. Mais c'est uniquement dans le but d'améliorations. Cela me permet aussi de comprendre et d'apprendre un peu plus le VBA. Le classeur présente une autre idée, celle de mettre tous les participants au début de la même ligne (Ligne 445) Le nombre d'étapes des années 1930 étant plus nombreuses, ça me parait plus simple. De cela je cherche une formule du genre :
LastRow = FirstRow * Nombre de participants (Txt_Coureurs contient le nombre de coureurs)
Jean Marie, tu trouveras ci joint le classeur avec quelques modifs. Qu'en penses tu?
 

Pièces jointes

  • Tour de France Guy 5.xlsm
    941.9 KB · Affichages: 4

ChTi160

XLDnaute Barbatruc
Re
Le problème si on regarde le nombre de participants , n'est pas indiqué,le nombre de partant lui ne correspondant pas au participants.
Est ce normal ?
Ou ajouter le nombre de participant (formule)
Via les indications N° de la colonne.
Je n'ai pas d'ordi sous la main lol
Jean marie
 

Electron24

XLDnaute Occasionnel
Re,
J'ai trouvé en tatillonnant ceci :
VB:
LastRow = FirstRow + NbCoureurs
En sachant que FirstRow commence à la ligne 445
En déclarant Public dans le module BDD NbCoureurs as Integer et ça fonctionne.
Edit :
non cela n'est pas normal je suis occupé à rectifié il faut prendre en compte la valeur de Txt_Coureurs L'erreur est du parce que je récupére les participants sur différents sites et ils n'ont pas tous le même résultats
 

ChTi160

XLDnaute Barbatruc
Re Electron24
Donc ce que je t'avais proposé pourrait marcher
Dernière ligne de la colonne Année
DerniereLigne= Cells(Rows.Count,Col).End(xlup).Row
Moins nombre de coureurs et tu as les deux limites de ta plage comme mon exemple.
Tablo = Range(cells(premierligne,Col),Cells(DernieteLigne,Col))
Pas besoin de mette la première ligne a 445
Jean marie(.....)
 

Electron24

XLDnaute Occasionnel
Re,
Tout à fait
Le souci est que je ne comprends pas la ligne Tablo.
Donc dis moi si j'ai bon.
On recherche la dernière ligne pleine de l'année sélectionnée
On retranche le nombre de participants
et on affiche le résultat.
Par contre j'ai mis cette méthode pour les étapes mais là ça plante.
Première ligne 39 et dernière ligne je me retrouve sur le dernier participant.
 

Electron24

XLDnaute Occasionnel
Re,
Merci Jean-Marie pour les efforts que tu fais afin de me répondre même sans PC. Je te propose de faire un break le temps que tu puisses si tu le désires reprendre après ton retour.
De toute façon, je vais devoir faire une pause car je m'absente durant 3 ou 4 jours.
 

Discussions similaires