S
sebonweb
Guest
Bonjour, voici un cas complexe:
J'ai créé une combobox dans une feuille sans passer par le biais d'un Userform. Lorsque je sélectionne une valeur dans ma combobox, les variables correspondantes sont affichées dans un tableau.
Principe du code:
Le contenu de la combobox est récupéré automatiquement par la macro ComboBox1_GotFocus
Sur clic, le bouton CommandButton1 doit sélectionner chacune des valeurs de la combobox et imprimer
Au fur et à mesure que le compteur cp_freesales est incrémenté, le contenu de la combobox est modifié pour n'afficher qu'une valeur.
Jusque là cela fonctionne mais je n'arrive pas à sélectionner automatiquement cette valeur afin que les données de mon tableau soient modifiées. Comment faire?
Merci par avance pour vos contributions
J'ai créé une combobox dans une feuille sans passer par le biais d'un Userform. Lorsque je sélectionne une valeur dans ma combobox, les variables correspondantes sont affichées dans un tableau.
Principe du code:
Le contenu de la combobox est récupéré automatiquement par la macro ComboBox1_GotFocus
Sur clic, le bouton CommandButton1 doit sélectionner chacune des valeurs de la combobox et imprimer
Au fur et à mesure que le compteur cp_freesales est incrémenté, le contenu de la combobox est modifié pour n'afficher qu'une valeur.
Jusque là cela fonctionne mais je n'arrive pas à sélectionner automatiquement cette valeur afin que les données de mon tableau soient modifiées. Comment faire?
Merci par avance pour vos contributions
Code:
Option Explicit
Public cp_freesales As Integer
Public Type_Of_Combo_Update
Public Derniere_Ligne As Integer
Private Sub ComboBox1_GotFocus()
Dim Cellule_Liee As String
Dim Premiere_Cellule_Liste As String
Dim Derniere_Cellule_Liste As String
Dim Freesale_Cellule As String
'Definit la valeur 'Cellule_Liee' de la propriete LinkedCell de la combobox
Cellule_Liee = Sheets('Freesale Chart').Range('$D$8').Address
ComboBox1.LinkedCell = Cellule_Liee
'Definit la valeur maximale 'Derniere_Ligne' du compteur cp_freesales
Derniere_Ligne = Sheets('Freesale Chart').Range('AN5').End(xlDown).Row
Select Case cp_freesales
Case 0
Premiere_Cellule_Liste = Sheets('Freesale Chart').Range('AN5').Address
Derniere_Cellule_Liste = Sheets('Freesale Chart').Range('AN5').End(xlDown).Address
ComboBox1.ListRows = 8
Case 1 To Derniere_Ligne
Premiere_Cellule_Liste = Sheets('Freesale Chart').Range('$AN$5').Offset(cp_freesales, 0).Address
Derniere_Cellule_Liste = Premiere_Cellule_Liste
ComboBox1.ListRows = 1
Case Else
Exit Sub
End Select
ComboBox1.ListFillRange = Premiere_Cellule_Liste & ':' & Derniere_Cellule_Liste
End Sub
Sub CommandButton1_Click()
Dim Derniere_Ligne As String
Dim Freesale_Cellule As String
'Defines a counter that ranges from 1 to Derniere_Ligne named cp
Derniere_Ligne = Sheets('Freesale Chart').Range('AN5').End(xlDown).Row
For cp_freesales = 1 To Derniere_Ligne
ComboBox1_GotFocus
Next cp_freesales
Print_Freesale_Charts
End Sub