Je ne m'y retrouve plus trop dans la manipulation des listbox.
J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui
apparaît par événement.
J'aimerais :
Qu'à la première ouverture, rien ne soit sélectionner.
Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen de
sélectionner!!!) soit, par défaut sur le choix précédent.
Récupérer dans 2 variables les valeurs des colonnes 1 et 2.
Merci de votre aide.
--
René Delcourt
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé
Bonjour René,
Variable à mettre dans un module standard : Public I As Integer Public Ouvert As Boolean Public ValColonne_1 Public ValColonne_2
Procs à mettre dans le module de la Form : Private Sub UserForm_Initialize() Dim Plage As Range Dim J As Integer Dim Col As String
With Worksheets("Feuil1") Set Plage = .Range("A1:E" & _ .Range("E65536") _ .End(xlUp).Row) End With
With ListBox1 .ColumnCount = Plage.Columns.Count 'largeur des colonnes 50 points For J = 1 To Plage.Columns.Count If Col = "" Then Col = "50": J = 2 Col = Col & ";50" Next J .ColumnWidths = Col .RowSource = Plage.Address If Ouvert = True Then .ListIndex = I End If End With
Set Plage = Nothing End Sub
Private Sub ListBox1_Click() With ListBox1 I = .ListIndex Ouvert = True ValColonne_1 = .Column(0, .ListIndex) ValColonne_2 = .Column(1, .ListIndex) End With End Sub
Hervé.
"René Delcourt" a écrit dans le message de news:
Bonjour,
Je ne m'y retrouve plus trop dans la manipulation des listbox. J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui apparaît par événement. J'aimerais : Qu'à la première ouverture, rien ne soit sélectionner. Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen de sélectionner!!!) soit, par défaut sur le choix précédent. Récupérer dans 2 variables les valeurs des colonnes 1 et 2. Merci de votre aide. -- René Delcourt
Bonjour René,
Variable à mettre dans un module standard :
Public I As Integer
Public Ouvert As Boolean
Public ValColonne_1
Public ValColonne_2
Procs à mettre dans le module de la Form :
Private Sub UserForm_Initialize()
Dim Plage As Range
Dim J As Integer
Dim Col As String
With Worksheets("Feuil1")
Set Plage = .Range("A1:E" & _
.Range("E65536") _
.End(xlUp).Row)
End With
With ListBox1
.ColumnCount = Plage.Columns.Count
'largeur des colonnes 50 points
For J = 1 To Plage.Columns.Count
If Col = "" Then Col = "50": J = 2
Col = Col & ";50"
Next J
.ColumnWidths = Col
.RowSource = Plage.Address
If Ouvert = True Then
.ListIndex = I
End If
End With
Set Plage = Nothing
End Sub
Private Sub ListBox1_Click()
With ListBox1
I = .ListIndex
Ouvert = True
ValColonne_1 = .Column(0, .ListIndex)
ValColonne_2 = .Column(1, .ListIndex)
End With
End Sub
Hervé.
"René Delcourt" <rde@intras.ch> a écrit dans le message de news:
27035B1A-6776-4F5D-A630-A7F6A96057FB@microsoft.com...
Bonjour,
Je ne m'y retrouve plus trop dans la manipulation des listbox.
J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui
apparaît par événement.
J'aimerais :
Qu'à la première ouverture, rien ne soit sélectionner.
Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen
de
sélectionner!!!) soit, par défaut sur le choix précédent.
Récupérer dans 2 variables les valeurs des colonnes 1 et 2.
Merci de votre aide.
--
René Delcourt
Variable à mettre dans un module standard : Public I As Integer Public Ouvert As Boolean Public ValColonne_1 Public ValColonne_2
Procs à mettre dans le module de la Form : Private Sub UserForm_Initialize() Dim Plage As Range Dim J As Integer Dim Col As String
With Worksheets("Feuil1") Set Plage = .Range("A1:E" & _ .Range("E65536") _ .End(xlUp).Row) End With
With ListBox1 .ColumnCount = Plage.Columns.Count 'largeur des colonnes 50 points For J = 1 To Plage.Columns.Count If Col = "" Then Col = "50": J = 2 Col = Col & ";50" Next J .ColumnWidths = Col .RowSource = Plage.Address If Ouvert = True Then .ListIndex = I End If End With
Set Plage = Nothing End Sub
Private Sub ListBox1_Click() With ListBox1 I = .ListIndex Ouvert = True ValColonne_1 = .Column(0, .ListIndex) ValColonne_2 = .Column(1, .ListIndex) End With End Sub
Hervé.
"René Delcourt" a écrit dans le message de news:
Bonjour,
Je ne m'y retrouve plus trop dans la manipulation des listbox. J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui apparaît par événement. J'aimerais : Qu'à la première ouverture, rien ne soit sélectionner. Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen de sélectionner!!!) soit, par défaut sur le choix précédent. Récupérer dans 2 variables les valeurs des colonnes 1 et 2. Merci de votre aide. -- René Delcourt
René Delcourt
Merci, Hervé, de cette réponse que je n'attendais plus. Je la teste lundi. Bon dimanche -- René Delcourt
Bonjour René,
Variable à mettre dans un module standard : Public I As Integer Public Ouvert As Boolean Public ValColonne_1 Public ValColonne_2
Procs à mettre dans le module de la Form : Private Sub UserForm_Initialize() Dim Plage As Range Dim J As Integer Dim Col As String
With Worksheets("Feuil1") Set Plage = .Range("A1:E" & _ .Range("E65536") _ .End(xlUp).Row) End With
With ListBox1 .ColumnCount = Plage.Columns.Count 'largeur des colonnes 50 points For J = 1 To Plage.Columns.Count If Col = "" Then Col = "50": J = 2 Col = Col & ";50" Next J .ColumnWidths = Col .RowSource = Plage.Address If Ouvert = True Then .ListIndex = I End If End With
Set Plage = Nothing End Sub
Private Sub ListBox1_Click() With ListBox1 I = .ListIndex Ouvert = True ValColonne_1 = .Column(0, .ListIndex) ValColonne_2 = .Column(1, .ListIndex) End With End Sub
Hervé.
"René Delcourt" a écrit dans le message de news:
Bonjour,
Je ne m'y retrouve plus trop dans la manipulation des listbox. J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui apparaît par événement. J'aimerais : Qu'à la première ouverture, rien ne soit sélectionner. Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen de sélectionner!!!) soit, par défaut sur le choix précédent. Récupérer dans 2 variables les valeurs des colonnes 1 et 2. Merci de votre aide. -- René Delcourt
Merci, Hervé, de cette réponse que je n'attendais plus.
Je la teste lundi.
Bon dimanche
--
René Delcourt
Bonjour René,
Variable à mettre dans un module standard :
Public I As Integer
Public Ouvert As Boolean
Public ValColonne_1
Public ValColonne_2
Procs à mettre dans le module de la Form :
Private Sub UserForm_Initialize()
Dim Plage As Range
Dim J As Integer
Dim Col As String
With Worksheets("Feuil1")
Set Plage = .Range("A1:E" & _
.Range("E65536") _
.End(xlUp).Row)
End With
With ListBox1
.ColumnCount = Plage.Columns.Count
'largeur des colonnes 50 points
For J = 1 To Plage.Columns.Count
If Col = "" Then Col = "50": J = 2
Col = Col & ";50"
Next J
.ColumnWidths = Col
.RowSource = Plage.Address
If Ouvert = True Then
.ListIndex = I
End If
End With
Set Plage = Nothing
End Sub
Private Sub ListBox1_Click()
With ListBox1
I = .ListIndex
Ouvert = True
ValColonne_1 = .Column(0, .ListIndex)
ValColonne_2 = .Column(1, .ListIndex)
End With
End Sub
Hervé.
"René Delcourt" <rde@intras.ch> a écrit dans le message de news:
27035B1A-6776-4F5D-A630-A7F6A96057FB@microsoft.com...
Bonjour,
Je ne m'y retrouve plus trop dans la manipulation des listbox.
J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui
apparaît par événement.
J'aimerais :
Qu'à la première ouverture, rien ne soit sélectionner.
Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen
de
sélectionner!!!) soit, par défaut sur le choix précédent.
Récupérer dans 2 variables les valeurs des colonnes 1 et 2.
Merci de votre aide.
--
René Delcourt
Merci, Hervé, de cette réponse que je n'attendais plus. Je la teste lundi. Bon dimanche -- René Delcourt
Bonjour René,
Variable à mettre dans un module standard : Public I As Integer Public Ouvert As Boolean Public ValColonne_1 Public ValColonne_2
Procs à mettre dans le module de la Form : Private Sub UserForm_Initialize() Dim Plage As Range Dim J As Integer Dim Col As String
With Worksheets("Feuil1") Set Plage = .Range("A1:E" & _ .Range("E65536") _ .End(xlUp).Row) End With
With ListBox1 .ColumnCount = Plage.Columns.Count 'largeur des colonnes 50 points For J = 1 To Plage.Columns.Count If Col = "" Then Col = "50": J = 2 Col = Col & ";50" Next J .ColumnWidths = Col .RowSource = Plage.Address If Ouvert = True Then .ListIndex = I End If End With
Set Plage = Nothing End Sub
Private Sub ListBox1_Click() With ListBox1 I = .ListIndex Ouvert = True ValColonne_1 = .Column(0, .ListIndex) ValColonne_2 = .Column(1, .ListIndex) End With End Sub
Hervé.
"René Delcourt" a écrit dans le message de news:
Bonjour,
Je ne m'y retrouve plus trop dans la manipulation des listbox. J'ai une source de200 lignes sur 5 colonnes reprise dans un listbox qui apparaît par événement. J'aimerais : Qu'à la première ouverture, rien ne soit sélectionner. Qu'aux ouvertures suivantes, le focus (pas la sélection sinon plus moyen de sélectionner!!!) soit, par défaut sur le choix précédent. Récupérer dans 2 variables les valeurs des colonnes 1 et 2. Merci de votre aide. -- René Delcourt
René Delcourt
Bonjour Hervé,
Je viens d'effacer une lithanie inutile expliquant le non fonctionnement... pour te dire que ça fonctionne à merveille; ma plage ne reprenait pas les titres (A2:E65000) au lieu de A1:E65000.
Je te remercie pour l'effort.
Bonjour Hervé,
Je viens d'effacer une lithanie inutile expliquant le non fonctionnement...
pour te dire que ça fonctionne à merveille; ma plage ne reprenait pas les
titres (A2:E65000) au lieu de A1:E65000.
Je viens d'effacer une lithanie inutile expliquant le non fonctionnement... pour te dire que ça fonctionne à merveille; ma plage ne reprenait pas les titres (A2:E65000) au lieu de A1:E65000.