Encore un problème de liste déroulante

Le
Louise
J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à dire
que je peut ajouter un enregistrement sans modifier mon code qui allimente
une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que j'en ai
bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #1282542
Bonjour Louise,

'---------------------
Private Sub Worksheet_Activate()
Dim Adr As String

With Worksheets("assureurs")
Adr = .Name & "!" & .Range("b3:B" & _
.Range("B65536").End(xlUp).Row).Address(0, 0)
.liste_ass.ListFillRange = Adr
End With
End Sub
'---------------------


Salutations!



"Louise" J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à dire
que je peut ajouter un enregistrement sans modifier mon code qui allimente
une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que j'en ai
bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide
michdenis
Le #1282538
Seulement ceci serait suffisant ...!

'--------------
Private Sub Worksheet_Activate()
liste_ass.ListFillRange.ListFillRange = Name & "!" & Range("b3:B" & _
Range("B65536").End(xlUp).Row).Address(0, 0)
End Sub
'--------------


Salutations!



"michdenis" Bonjour Louise,

'---------------------
Private Sub Worksheet_Activate()
Dim Adr As String

With Worksheets("assureurs")
Adr = .Name & "!" & .Range("b3:B" & _
.Range("B65536").End(xlUp).Row).Address(0, 0)
.liste_ass.ListFillRange = Adr
End With
End Sub
'---------------------


Salutations!



"Louise" J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à dire
que je peut ajouter un enregistrement sans modifier mon code qui allimente
une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que j'en ai
bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide
Louise
Le #1282537
MERCI MERCI MERCI ....

YOU JUST MADE MY DAY
xxx

"michdenis" news:uI6U%
Bonjour Louise,

'---------------------
Private Sub Worksheet_Activate()
Dim Adr As String

With Worksheets("assureurs")
Adr = .Name & "!" & .Range("b3:B" & _
.Range("B65536").End(xlUp).Row).Address(0, 0)
.liste_ass.ListFillRange = Adr
End With
End Sub
'---------------------


Salutations!



"Louise" news:%23WBf$

J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à
dire

que je peut ajouter un enregistrement sans modifier mon code qui allimente
une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que j'en
ai

bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide





Louise
Le #1282536
Ho ho petit problème,

Lorsque je supprime un enregistrement de ma feuille qui contient les
données, boum Excel plante et je reçoie un message de XP brrrrrrrrr.



"michdenis" news:
Seulement ceci serait suffisant ...!

'--------------
Private Sub Worksheet_Activate()
liste_ass.ListFillRange.ListFillRange = Name & "!" & Range("b3:B" & _
Range("B65536").End(xlUp).Row).Address(0, 0)
End Sub
'--------------


Salutations!



"michdenis" news:uI6U%

Bonjour Louise,

'---------------------
Private Sub Worksheet_Activate()
Dim Adr As String

With Worksheets("assureurs")
Adr = .Name & "!" & .Range("b3:B" & _
.Range("B65536").End(xlUp).Row).Address(0, 0)
.liste_ass.ListFillRange = Adr
End With
End Sub
'---------------------


Salutations!



"Louise" news:%23WBf$

J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à
dire

que je peut ajouter un enregistrement sans modifier mon code qui allimente
une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que j'en
ai

bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide






Louise
Le #1282535
Ok OK je l'ai réglé

j'ai ajouter sur déactivation de la feuille de mettre la variable adr=""

bye bye merci encore


"Louise" news:%
Ho ho petit problème,

Lorsque je supprime un enregistrement de ma feuille qui contient les
données, boum Excel plante et je reçoie un message de XP brrrrrrrrr.



"michdenis" news:
Seulement ceci serait suffisant ...!

'--------------
Private Sub Worksheet_Activate()
liste_ass.ListFillRange.ListFillRange = Name & "!" & Range("b3:B" & _
Range("B65536").End(xlUp).Row).Address(0, 0)
End Sub
'--------------


Salutations!



"michdenis" news:uI6U%

Bonjour Louise,

'---------------------
Private Sub Worksheet_Activate()
Dim Adr As String

With Worksheets("assureurs")
Adr = .Name & "!" & .Range("b3:B" & _
.Range("B65536").End(xlUp).Row).Address(0, 0)
.liste_ass.ListFillRange = Adr
End With
End Sub
'---------------------


Salutations!



"Louise" news:%23WBf$

J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à
dire

que je peut ajouter un enregistrement sans modifier mon code qui
allimente


une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que
j'en


ai
bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide










Misange
Le #1237449
Bonjour,
en complément à ce qui t'a été donné et qui fonctionne, pour éviter de
te casser la tête, tu nommes la plage de données (par ex assur) qui te
sert à alimenter ta listbox en utilisant la fonction décaler :
Þcaler($b$3;;;nbval($b:$b)-3)
si tu as par exemple tes données dans la colonne B (rien d'autres en
dessous) avec 3 lignes de baratin en haut.
Ensuite tu utilises simplement le nom de la plage pour remplir ta liste.
Tout ajout se répercute également automatiquement dans ta liste. Pour
les retraits, il faut en revanche prévoir d'enlever les lignes vides.
liste_ass.RowSource = ("assureurs!assur")

J'emploie systématiquement cette syntaxe, qu'à l'usage je trouve bien
moins source d'erreur que celle que tu utilises.


Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

le 08/04/2004 23:02:
J'ai mis ce code en espérant que le remplissage soit dynamique, c'est à dire
que je peut ajouter un enregistrement sans modifier mon code qui allimente
une liste déroulante que j'ai mis dans ma feuille avec la boite à outil.

Sur activation de la feuille en question la liste se met à jour

ps: dercell = dernière cellule

Private Sub Worksheet_Activate()
Dim dercell As String
dercell = Range("b3").End(xlDown).Address
liste_ass.ListFillRange = "assureurs!b3:" & dercell
End Sub

Mon problème est qu'elle ne me ramène que 3 enregistrement alors que j'en ai
bien plus et il n'y a pas de cellules vides entre

Quel est mon erreur. un code similaire sur un userform avec une liste
déroulante fonctionne très bien

Merci de votre aide




Publicité
Poster une réponse
Anonyme