traduction de ligne VBA

kikii

XLDnaute Occasionnel
Ligne = ListView1.ListItems(Item.Index).ListSubItems(18 - 1).Text


est ce que quelqu'un pourrait me dire ce que ça veux dire?

c'est pur language je me doute bien

merci beaucoup
 

Dranreb

XLDnaute Barbatruc
Re : traduction de ligne VBA

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.
À +

Bonsoir GéoTrouvePas.
 
Dernière édition:

GeoTrouvePas

XLDnaute Impliqué
Re : traduction de ligne VBA

Bonsoir,

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.

Edit : Bonsoir Dranreb
 

Dranreb

XLDnaute Barbatruc
Re : traduction de ligne VBA

…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.
À +
 

kikii

XLDnaute Occasionnel
Re : traduction de ligne VBA

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
 

Dranreb

XLDnaute Barbatruc
Re : traduction de ligne VBA

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 ?
À +
 

kikii

XLDnaute Occasionnel
Re : traduction de ligne VBA

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
 

Dranreb

XLDnaute Barbatruc
Re : traduction de ligne VBA

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.
À +
 

kikii

XLDnaute Occasionnel
Re : traduction de ligne VBA

Je te met un fichier joint c'est qu'un début de ce que je veux faire on pourra le faire évolué si tu veux

j'ai déja un peu avancet il faudrais que je puis t'expliquer un peu ce que je veux arriver a faire c'est pas simple mais surement faisable
 

Pièces jointes

  • Essais de tableau.xls
    70.5 KB · Affichages: 26
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : traduction de ligne VBA

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
 
Dernière édition:

kikii

XLDnaute Occasionnel
Re : traduction de ligne VBA

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
 

Dranreb

XLDnaute Barbatruc
Re : traduction de ligne VBA

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.
À +
 

kikii

XLDnaute Occasionnel
Re : traduction de ligne VBA

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
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 082
Membres
103 710
dernier inscrit
amin Saadaoui