Combobox/Rowsource sous Excel (sans userform)

B

ben

Guest
Bonjour aux cracks du VBA (thierry particulièrement),

Je préfère préciser que je ne suis pas débutant, j ai déjà
fait un petit programme assez évolué par des userforms.

Le problème c est que là je travaille en VBA avec notamment
des combobox directement sous Excel (contrainte du boulot) et ça change tout. J ai fouillé dans ce forum et je ne crois pas que quelqu'un ait soulevé ce problème

Ainsi j ai mis les valeurs d initialisation (additem) des combobox dans le ThisWorkbook au lieu du traditionnel Private Sub userform_initialize puis sheets(« X »).activate. Sinon les données des combobox ne se
remplissent pas ou alors se remplissent autant de fois que on change la valeur de la combobox. Avec les AddItems (les combobox CBloc et CBmonth), ca marche parfaitement.

Le problème vient de ma combobox à données variables c est
à dire dont le contenu s adapte aux valeurs présentes dans
une colonne d excel et qui s arrête donc à la dernière
ligne remplie.


La formule ci dessous qui marche parfaitement sous une userform classique ne marche plus lorsqu on le place dans le ThisWorkbook :
Dim DerCell As String
DerCell = Sheets("Report").range("B16").End(xlDown).Address
Sheets("Report").CBact.RowSource = "B17:" & DerCell

Je vous remercie (beaucoup) pour votre aide éventuelle

PS : Je sais que vous n'aimez pas les fichiers joints mais
si vous en avez besoin, il ne fait que 27ko compressé.

PS2 : voilà le code complet :

>>>>dans ma feuille REPORT :

Private Sub CBloc_Change()

Dim Location As Variant

Location = CBloc.Value
range("Report!C7").Value = Location

End Sub

Private Sub CBmonth_Change()

Dim Month As Variant

Month = CBmonth.Value
range("Report!C8").Value = Month

End Sub

Private Sub CBact_Change()

Dim Activity As Variant

Activity = CBact.Value
range("Report!C9").Value = Activity

End Sub


>>>>> dans mon classeur THISWORKBOOK :

Private Sub Workbook_Open()

'Combo choix des loc
Sheets("Report").CBloc.AddItem ("Localizations")
Sheets("Report").CBloc.AddItem ("SGPM Paris")
Sheets("Report").CBloc.AddItem ("S.G. UK")
Sheets("Report").CBloc.AddItem ("Europe >")
Sheets("Report").CBloc.AddItem ("America >")
Sheets("Report").CBloc.AddItem ("Asia >")

'Combo choix du mois
Sheets("Report").CBmonth.AddItem ("Periods")
Sheets("Report").CBmonth.AddItem ("January")
Sheets("Report").CBmonth.AddItem ("February")
Sheets("Report").CBmonth.AddItem ("March")
Sheets("Report").CBmonth.AddItem ("April")
Sheets("Report").CBmonth.AddItem ("May")
Sheets("Report").CBmonth.AddItem ("June")
Sheets("Report").CBmonth.AddItem ("July")
Sheets("Report").CBmonth.AddItem ("August")
Sheets("Report").CBmonth.AddItem ("September")
Sheets("Report").CBmonth.AddItem ("October")
Sheets("Report").CBmonth.AddItem ("November")
Sheets("Report").CBmonth.AddItem ("December")

'Combo choix activities
Sheets("Report").Select

Dim LastCell As String
LastCell = range("Report!B15").End(xlDown).Address
CBact.RowSource = "Report!B16:" & LastCell

End Sub
 

Discussions similaires


Haut Bas