OVH Cloud OVH Cloud

initialisation zone de liste

2 réponses
Avatar
srogeau
bonjour a tous
pour exercice d'apprentissage dans le livre "vba excel 2002 de michele amelot
eni edition"
j'ai un classeur avec 2 feuill
feuill "service" avec une liste de nom de "a1" a "a6"
feuill "employes" ou sont recopies les infos saisis dans 1 formulaire
j'ai cree un formulaire de saisie
dans ce formulaire une zone de liste qui doit etre initialisee a l'ouverture
du formulaire de saisie avec les donnee de la feuill "services"
malheuresement cela ne fonctionne pas pouvez vous me montrer mon erreur
voici le code
Private Sub Employes_Initialize()
Dim rng As Range
Dim cellule As Range
With ThisWorkbook.Worksheets("services").Activate
Set rng = .Range("a1").CurrentRegion
rng.Sort key1:=Range("a1")
lstservice.Clear
For Each cellule In rng
If cellule.Text <> "" Then
lstservice.AddItem cellule.Text
Else
Exit For
End If
Next cellule
End With
ThisWorkbook.Worksheets("employés").Activate
End Sub
merci de votre aide

2 réponses

Avatar
Kobaya
Salut,

Voilà la bonne version :
Private Sub Employes_Initialize()
Dim rng As Range
Dim cellule As Range

With ThisWorkbook.Worksheets("services")
.Activate
Set rng = .Range("a1").CurrentRegion

rng.Sort key1:=Range("a1")

Sheet1.lstService.Clear
For Each cellule In rng
If cellule.Text <> "" Then
Sheet1.lstService.AddItem cellule.Text
Else
Exit For
End If
Next cellule
End With
ThisWorkbook.Worksheets("employés").Activate
End Sub


A+.
-----Message d'origine-----
bonjour a tous
pour exercice d'apprentissage dans le livre "vba excel
2002 de michele amelot

eni edition"
j'ai un classeur avec 2 feuill
feuill "service" avec une liste de nom de "a1" a "a6"
feuill "employes" ou sont recopies les infos saisis dans
1 formulaire

j'ai cree un formulaire de saisie
dans ce formulaire une zone de liste qui doit etre
initialisee a l'ouverture

du formulaire de saisie avec les donnee de la
feuill "services"

malheuresement cela ne fonctionne pas pouvez vous me
montrer mon erreur

voici le code
Private Sub Employes_Initialize()
Dim rng As Range
Dim cellule As Range
With ThisWorkbook.Worksheets("services").Activate
Set rng = .Range("a1").CurrentRegion
rng.Sort key1:=Range("a1")
lstservice.Clear
For Each cellule In rng
If cellule.Text <> "" Then
lstservice.AddItem cellule.Text
Else
Exit For
End If
Next cellule
End With
ThisWorkbook.Worksheets("employés").Activate
End Sub
merci de votre aide
.



Avatar
papou
Bonjour
Private Sub Userform_Initialize()
Dim rng As Range
With ThisWorkbook.Worksheets("Services")
Set rng = Range("A1", Range("a65536").End(xlUp))
rng.Sort key1:=.Range("a1")
For Each cellule In rng
If cellule <> "" Then
lstservice.AddItem cellule
End If
Next cellule
End With
ThisWorkbook.Worksheets("employés").Activate
End Sub


Cordialement
Pascal

"srog" a écrit dans le message de
news:
bonjour a tous
pour exercice d'apprentissage dans le livre "vba excel 2002 de michele
amelot

eni edition"
j'ai un classeur avec 2 feuill
feuill "service" avec une liste de nom de "a1" a "a6"
feuill "employes" ou sont recopies les infos saisis dans 1 formulaire
j'ai cree un formulaire de saisie
dans ce formulaire une zone de liste qui doit etre initialisee a
l'ouverture

du formulaire de saisie avec les donnee de la feuill "services"
malheuresement cela ne fonctionne pas pouvez vous me montrer mon erreur
voici le code
Private Sub Employes_Initialize()
Dim rng As Range
Dim cellule As Range
With ThisWorkbook.Worksheets("services").Activate
Set rng = .Range("a1").CurrentRegion
rng.Sort key1:=Range("a1")
lstservice.Clear
For Each cellule In rng
If cellule.Text <> "" Then
lstservice.AddItem cellule.Text
Else
Exit For
End If
Next cellule
End With
ThisWorkbook.Worksheets("employés").Activate
End Sub
merci de votre aide