Listebox choix par double clic d'une ligne et selection de la ligne choisit sur la feuille
Le
Alex
Bonjour à tous,
J'ai un Userform ou l'on peut selectionner une ligne. Par double clic
sur la ligne choisit, je désirerai positionner ma cellule active sur
la colonne A de la ligne sélectionnée sur ma feuille, et j'ai écrit
ceci :
With Me.Selection
'Pour boucler sur chaque ligne sélectionnée du listbox
For A = 0 To .ListCount - 1
'Si la ligne selectionné dans la listbox correspond à la ligne
teste alors positionne le curseur en colonne 1 de la ligne
sélectionnée
If .Selected(A) = True Then
Sheets("VC-VT").Range("A" & (A)).Select
'enlever la sélection de cette ligne du listbox
.Selected(A) = False
End If
Next
End With
Malheureusement, sur ma feuille, il ne me selectionne pas la ligne qui
a été selectionnée via la listbox du userform.
Quelqu'un aurait il la solution à mon problème ?
Merci par avance de votre aide.
Bien cordialement.
Alex
J'ai un Userform ou l'on peut selectionner une ligne. Par double clic
sur la ligne choisit, je désirerai positionner ma cellule active sur
la colonne A de la ligne sélectionnée sur ma feuille, et j'ai écrit
ceci :
With Me.Selection
'Pour boucler sur chaque ligne sélectionnée du listbox
For A = 0 To .ListCount - 1
'Si la ligne selectionné dans la listbox correspond à la ligne
teste alors positionne le curseur en colonne 1 de la ligne
sélectionnée
If .Selected(A) = True Then
Sheets("VC-VT").Range("A" & (A)).Select
'enlever la sélection de cette ligne du listbox
.Selected(A) = False
End If
Next
End With
Malheureusement, sur ma feuille, il ne me selectionne pas la ligne qui
a été selectionnée via la listbox du userform.
Quelqu'un aurait il la solution à mon problème ?
Merci par avance de votre aide.
Bien cordialement.
Alex

Poser une question


Peut-être :
Sheets("VC-VT").Select
Sheets("VC-VT").Range("A" & (A)).Select
au lieu de :
Sheets("VC-VT").Range("A" & (A)).Select
Daniel
Je venais justement de trouver la solution et j'ai ecrit ceci :
Sheets("VC-VT").Cells(A + 1, 1).Select
Je viens de m'appercevoir d'un autre problème, mais cette fois ci avec
l'activation de ma listebox dans mon userform, il ne me prend pas
toutes les lignes de ma base de données. Et je ne vois pas à quoi cela
est du, Est ce à un parametre de la propriété de ma listebox ou est c e
lié à ce que j'ai écrit :
rivate Sub UserForm_Activate()
Dim DerLig As Long
'Feuil1 n'est pas le nom de l'onglet mais de la propriété NAME
'de la feuille visible seulement dans la fenêtre de l'éditeur de code.
With Feuil14
'si aucune donnée dans la feuille, sortie de la procédure.
If IsEmpty(.UsedRange) Then Exit Sub
'Trouver la dernière ligne où il y a des données
'dans les colonnes A:BB
DerLig = .Range("A:BB").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
'Comme les données débutent en ligne 2, derlig ne peut pas être plus
petit que 2
If DerLig < 2 Then DerLig = 2
'Affectation de la plage de cellules à une variable objet Range
Set Rg = .Range("A2:BB" & DerLig)
End With
With Me.Selectionvente
' Nombre des colonnes du tableau ou plage de données
.ColumnCount = Rg.Columns.Count
'largeur des colonnes dans le listbox
.ColumnWidths = "40;0;0;0;0;250;60;15;15;15;15;15;15;15;15;170;170"
'Remplir le listbox avec les données du tableau
.List = Rg.Value
'S'assure qu'aucune ligne de listbox n'est sélectionnée.
.ListIndex = -1
End With
End Sub
Merci par avance de votre aide.
Alex
juste fait une erreur sur le N°de la feuille dans mon With Feuil14.
Avec mes excuses
Néanmoins, j'ai une autre question, pour revenir à ma question
initiale à savoir ma selection avec la ligne suivante :
Sheets("VC-VT").Cells(A + 1, 1).Select
j'ai du la corriger comme cela :
Sheets("VC-VT").Cells(A + 2, 1).Select
J'ai du mettre un 2 pour le A+1 sinon il sélectionnait la ligne au
dessus. Pourquoi 2 et non pas 1, Est ce à cause derlig < 2 dans mon
userform activate ?
Merci par avance de votre réponse.
Cordialement.
| Sheets("VC-VT").Range("A" & (A)).Select
Ta boucle débute par A = 0
For A = 0 To .ListCount - 1
il n'y a aucune Feuille dans Excel où la première ligne
est 0, le décompte débute par 1. Encore faut-il que ce
soit la bonne feuille qui soit active sans quoi, il est
impossible de faire un "Select" sur une cellule si cette
feuille n'est pas la la feuille active (select).
MichD
--------------------------------------------
Merci pour ta réponse.
Je comprends bien celle-ci, mais peut m'expliquer malgré tout pourquoi
je dois mettre +1 si je corrige le 0 en 1. Pourquoi le +1 Serait ce à
cause de la ligne de titre ?
Merci encore.
Cordialement