listbox/controlsource/excel+VBA

D

Dan'

Guest
Bonsoir á tous les pros.

je ne suis qu'un programmeur en herbe, un bricoleur du soir
je respecte tout ce que je vois sur le net. C'est vriament génial.........
Voici ma question :
************************************************************
j'utilise cette fontion pour trouver la cellule libre

Function place_libre() As Integer
Dim StartRow As Integer
Sheets("Facture").Select
Range("C17").Select
StartRow = 1
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Wend
End Function

et j'utilise le 'Controlsource' de mon listbox pour placer ma donnée dans la cellule
quand je clique ma donnée dans le listbox la première fois, tout va bien !
Elle s'affiche dans la première cellule et la cellule du dessous est marquée
puis je veux cliquer une 2° donnée dans le même listbox
et tout ce 'corse' !
elle s'affiche toujours dans la 1° cellule........
*****************************
Quelqu'un peut-il m'aider et comment ? Merci d'avance.
Dan'
 
M

Michel_M

Guest
Bonjour Dan et le forum,

Dan,

la fonction est inutile car tu as une syntaxe d'une ligne qui te la donnes ( quand je débutais, j'avais fait comme toi et j'avais trouvé cette astuce sur le site d'Eric Renaud).
Autre témoignage pour débutant: évite les "select" et "selection" qui bouffe un temps énorme. A lire si tu ne l's pas déjà fait: accélérer code VBA sur le site de Laurent Longre (ça ne lit pas comme un roman policier...)
Tu as aussi un site super ( ça n'engage que moi) pour apprendre le VBA: info-3000.com


Sub compiler()

Dim lig As Long

' on recherche la 1° ligne vide après C17
lig = Columns(3).Find("", [C17], , , xlByRows).Row

'on affecte la valeur choisie dans ta listbox à cette cellule
Cells(lig, 3) = ta_listbox(Value)

End Sub

A+
Michel
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote