Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonsoir.
Affecte à une variable nommée "Ligne" le texte à la 17ième colonne d'une ListView nommé ListView1 et à la ligne donnée par Item.Index. Il faut voir ce qu'est Item. Si c'est un paramètre passé à une procédure évènement de la ListView1, il se pourrait qu'on puisse se contenter de:
VB:
Ligne = Item.ListSubItems(18 - 1).Text
P.S. Je confirme après vérification dans une appli où j'ai une ListView, s'il est déclaré As MSComctlLib.ListItem et correctement initialisé, comme c'est le cas dans sa procédure ListView1_ItemClick, Item.Text suffit pour la 1ère colonne et Item.SubItems(N) pour la Nième suivante.
À +
Si je me trompe pas, je dirais que la variable Ligne doit prendre la valeur du 17ème élément de la ligne sélectionnée dans le Listview1. Mais c'est sans avoir pris le temps de ressortir mes notes.
…Et du coup on s'est trompé: c'est la 18ième colonne, puisque la 2ième c'est Item.SubItems(1)
Celui qui l'a écrit, même s'il a commis une petite maladresse, a bien fait de mettre 18 - 1 pour documenter cela plutôt que 17.
À +
je vous ai mis le code complet car c'est le code d'origine et moi je voudrait remplacer textbox par combobox est ce possible
et moi je n'ai plus 18 colonnes mais 6 colonnes
quelqu'un a une idée?
Private Sub Listview1_ItemClick(ByVal Item As MSComctlLib.ListItem)
' Quel ligne
Ligne = ListView1.ListItems(Item.Index).ListSubItems(18 - 1).Text
TextBox1.Text = Cells(Ligne, 1) 'ListView1.ListItems(Item.Index).Text
For Ind = 1 To 13
If Ind = 2 Then
Me.DateSaisine.Value = Format(Cells(Ligne, Ind), "mm/dd/yyyy")
ElseIf Ind = 3 Then
Me.DT.Value = Cells(Ligne, Ind)
ElseIf Ind = 11 Then
Me.DateCloture.Value = Format(Cells(Ligne, Ind), "mm/dd/yyyy")
Else
Me.Controls("Textbox" & Ind) = Cells(Ligne, Ind)
End If
Next Ind
End Sub
Bonjour.
Oui, il est possible d'affecter à une série de ComboBox par ce moyen. Mais ça me parait bizarre.
Et dans vos 6 colonnes, la dernière est elle aussi réservée à un numéro de ligne, et probablement masquée ?
À +
ben non ma derniere colone c'est une date elle n'est plus réserver a un numéro de ligne j'ai du supprimer je crois que je n'aurais pas du je ne suis pas assez câlé pour faire cela
Le mieux serait de joindre une maquette de votre fichier avec quelques explications de ce que vous voulez faire.
Au format .xls s'il vous plait, la conversion des .xlsm chez moi y laisse parfois des plumes.
À +
Garnissez quand même votre liste de quelques données bidon et expliquez ce qu'il doit se passer pour commencer en cliquant là bas (heu… ici)
Remarque: les échanges risque d'être difficile: la MSComCtlLib est un fichier différent chez moi, votre référence est MANQUANT
bonsoir Dranreb je sais pas du tout ce qu'est la MSComCtlib lol trop novice
mon but est d'apres ma boite de dialoque remplir le tableau excel
je sélectionne une série qui m'afficherras tout une liste de numéro d'EM ensuite je renseigne un lieu (A, B C,...) je choisit une date d'entrée une date de sortie et je marque un un commentaire sur le pourquoi cette EM est rentrer au lieu A.
Pour modifier les donner je cliquerais sur la listwiew et sa renseignerais les divers champs précédements remmplis et je n'aurai qu'a modifier et cliquer sur modifier.....
vois tu ce que je veux dire.....
pour le reste 8h 17 h et hsp hsc ....feront référence a autre chose plutard
La MSComctlLib est la bibliothèque où est défini l'objet ListView et ses types d'objets attachés.
Il y est notamment fait référence dans l'instruction :
Private Sub Listview1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Chez moi ça correspond à la référence "Microsoft Windows Common Controls 6.0 (SP4)" et ça pointe sur le fichier C:\WINDOWS\system32\mscomctl.ocx
Chez vous c'était autre chose qui n'existe pas chez moi et que j'ai dû virer parce que c'était marqué "MANQUANT" dans les référence, et il y a de fortes chances que si je vous joins un classeur garni de nouveau code ce sera pareil pour vous.
Il y a des choses qui marchent déjà: j'ai réussi à faire fonctionner votre bouton "Ajouter" encore que le N° d'EM que j'avais entré n'y a pas été mis. Mais le numéro de ligne (variable "cellule") est bien rangé en 7ième colonne au cas ou il y aurait besoin de retrouver cette ligne en vue de la modifier.
À +
je te fais confiance quand au fonctionnement du fichier je n'ai pas eu de formation en excel je pioche a droite a gauche pour m'en sortir ce fichier fonctionneras sous excel 2003 car je l'utilisera sur un poste de travail avec cette version moi a la maison j'ai excel 2007 peux etre est ce à cause de la?
en tous cas merci c'est super sympa de m'aider sur le sujet
- 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