Affichage données tableau dans listbox

clic droit

Je viens de constater qu'il suffit aussi de sélectionner une ligne ...

Du coup .. cela entraîne pas mal de confusion ..

Comment fais-tu pour simplement rester sur ta feuille ... sans ouvrir le formulaire ..

Sans indiscrétion, quelle est la personne qui a codé ce petit programme ...???

c'est un fichier que j'ai construit en prenant des idées ça et là. Après j'essaye de comprendre, de décortiquer l'ensemble et de l'adapter à mes besoins...

Le tout sans aucune prétention

sinon pour rester sur la feuille il suffit d'enlever le UF....show de l'évènement "Worksheet_SelectionChange"

sinon pour rester sur la feuille il suffit d'enlever le UF....show de l'évènement "Worksheet_SelectionChange"

Merci pour ton explication ...

Mais je ne faisais que te faire part de mon étonnement ... que de simplement rester sur la feuille ... était impossible ...

Bonjour,

Je n'ai malheureusement pas le temps de corriger tout ce qui aurait besoin de l'être dans tes macros ...

Du coup, je t'ai préparé un petit fichier test ... ciblé sur ta question ...

En espèrant que cela t'aide ...

bonsoir,

je te remercie de t'être penché sur mon "cas".

Le fichier que tu proposes est exactement ce que je cherche à faire.

J'ai essayé de transposer les codes que tu as utilisés, mais malheureusement ça ne fonctionne pas chez moi.

Il y a je pense de la concurrence avec mon initlistbox.

Je vais essayer de réfléchir de mon côté.

merci encore

bonsoir,

je te remercie de t'être penché sur mon "cas".

Le fichier que tu proposes est exactement ce que je cherche à faire.

J'ai essayé de transposer les codes que tu as utilisés, mais malheureusement ça ne fonctionne pas chez moi.

Il y a je pense de la concurrence avec mon initlistbox.

Je vais essayer de réfléchir de mon côté.

merci encore

De rien ...

Merci pour tes remerciements ...

bonjour,

en ce dimanche pluvieux, j'ai le temps de me pencher sur mon "cas".

J'ai réussi à adapter le code que tu m'as proposé. c'est super !

par contre je butte sur le remplissage de mes textboxes lors du clic sur la l

istbox.

Aurais-tu une idée ?

merci

Bonjour,

Avant tout ... Félicitations pour avoir correctement adapté le code ... !!!

Concernant le lien entre ta sélection dans la ListBox et l'affichage de tes différentes TextBoxes ...

Tu peux t'inspirer et adapter le code suivant à ta situation :

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim numLigne As Integer
Dim i As Long
numLigne = Me.ListBox1.ListIndex
For i = 1 To 10
  Me.Controls("TextBox" & i).Value = Me.ListBox1.Column(i - 1, numLigne)
Next i

En espèrant que cela t'aide ...

bonjour,

Je vais essayer mais le souci c'est que toutes mes textboxes sont nommées (i.e. :TB_xxxxxx) donc je ne pense

pas pouvoir boucler sur celles-ci mais je vais essayer en les renommant.

Merci encore de ton aide.

bon dimanche !

Re,

Merci pour tes remerciements ...

J'espère que l'adaptation ne te posera pas trop de difficultés ...

non c'est bon.

C'est relativement long mais j'y arrive. Juste une question de patience.

En tous cas merci pour tout.

Je passe le sujet en "résolu"

@+

bonsoir James007,

Je me permets de revenir vers toi. Tout fonctionne (ou presque !) mis à part que je n'arrive plus à rentrer ou midifier les donnes.

Je pense que ça vient de ma "ligne" écrite comme suit : Ligne = Me.ListBox1.List(Me.ListBox1.ListIndex, 12

peux-tu me dire ce que signifie le 12 à la fin ? ou peux-tu m'aider à résoudre mon problème car tout fonctionnait bien avant

merci

Marc

[code][/Private Sub Label_16_Click() ' VALIDER LA SORTIE

Dim ProduitType As String

Dim Ligne As Long

If MsgBox("Confirmez-vous la sortie de " & Me.TB_10.Value & " " & Me.CB_1.Value & vbCr & vbCr & _

" en date du : " & " " & Me.TB_7.Value & " ?", vbQuestion + vbDefaultButton1 + vbYesNo, "SORTIE ") <> vbYes Then Exit Sub

'End If

Ligne = Me.ListBox1.List(Me.ListBox1.ListIndex, 12)

' Copie des informations '

Sheets("BD").Range("A" & Ligne) = Me.CB_1.Value 'Me.CB_produit.Value

Sheets("BD").Range("B" & Ligne) = Me.CB_2.Value ' Me.CB_type.Value

Sheets("BD").Range("C" & Ligne) = Me.CB_3.Value ' emplacement

Sheets("BD").Range("D" & Ligne) = Me.TB_4.Value ' conditionnement

Sheets("BD").Range("E" & Ligne) = Me.TB_5.Value ' divers

'sheets("BD").Range("F" & Ligne) = Me.TB_8.Value

Sheets("BD").Range("G" & Ligne) = Format(Me.TB_7.Value, "dd/mm/yy")

If Val(Me.TB_10) <> 0 Then Sheets("BD").Range("I" & Ligne) = Val(Me.TB_10.Value)

Sheets("BD").Range("J" & Ligne) = Format(Me.TB_15.Value, "dd/mm/yy")

Sheets("BD").Range("J" & Ligne) = Me.Label_transaction.Caption

Sheets("BD").Range("K" & Ligne) = " sorti " & Me.TB_10.Value & " " & Me.CB_1.Value & " le " & Me.TB_15.Value

'Sheets("BD").Range("L" & Ligne) = Me.TB_5.Value

'-*-*-*-*-*-*

'Sheets("BD").Rows(Me.ListBox1.List(Me.ListBox1.ListIndex, 10)).SpecialCells(xlCellTypeConstants, 23).ClearContents

' Effectue un tri avec deux clés sur les Noms et les prénoms

Sheets("BD").Range("A2:M" & Sheets("BD").Range("A" & Rows.Count).End(xlUp).Row).Sort _

Key1:=Sheets("BD").Range("A2"), Order1:=xlAscending, dataoption1:=xlSortNormal, _

Key2:=Sheets("BD").Range("B2"), order2:=xlAscending, dataoption2:=xlSortNormal, _

Key3:=Sheets("BD").Range("C2"), order3:=xlAscending, dataoption2:=xlSortNormal, Header:=xlYes

'End If

'--------------------

MsgBox "il restera : " & Me.TB_8.Value & " " & Me.CB_1.Value, vbInformation, "PRODUITS RESTANTS"

'--------------------

Unload Me

End Subcode]

Bonjour,

Pour dépend de la structure de l'onglet que tu dois alimenter ...

Pour ce qui concerne le fait de repérer la bonne ligne en fonction de celle qui est sélectionnée dans ta ListBox1, je te propose:

Ligne = Me.ListBox1.ListIndex + 2

En espèrant que cela t'aide ...

effectivement, j'en étais arrivé à a même conclusion que toi pour la ligne.

J'avais ajouté un "msgbox Ligne" qui me confirmait que j'étais sur la ligne voulue mais

mes données ne se recopient toujours pas.

Si tu as une idée, elle sera la bienvenue !!!!

bonne journée et merci.

Re,

A tout le moins ... le problème de la bonne ligne est donc résolu ...

Dans un premier temps, tu pourrais mettre en commentaire ... avec une apostrophe devant toutes tes instructions ...

et ne conserver que les deux premières lignes ... pour bien vérifier le nom de la Feuille et celui de la ComboBox ...

Ligne = Me.ListBox1.ListIndex + 2
Sheets("BD").Range("A" & Ligne) = Me.CB_1.Value

En espérant que cela t'aide ...

re,

c'est ce que j'ai commencé par faire.

Il n'y a que la 1ère cellule (en colonne "A") qui s'inscrit. Les cellules adjacentes à droite sont remplies avec les valeurs des lignes supérieures, et ce de façon aléatoire.

J'y perds mon latin (et ma patience en prend aussi un coup !!) ça fait deux jours que je planche là-dessus...

je crois que je vais lâcher prise.

cordialement

Marc

Re,

Est-ce-que ton dernier message signifie que :

Sheets("BD").Range("A" & Ligne) = Me.CB_1.Value

fonctionne correctement ... et que

Sheets("BD").Range("B" & Ligne) = Me.CB_2.Value

ne fonctionne pas ...???

oui tout à fait

oui tout à fait

Très Etrange ...

Du coup, il faut malheureusement replonger dans le code ... pour découvrir ce qui cloche ...

Je ne promets rien ... mais si je le peux ... j'essayerai de me dépatouiller dans ton plat de spaghettis ...

Rechercher des sujets similaires à "affichage donnees tableau listbox"