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
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