excel macro combobox - VB/VBA/VBS - Programmation
Marsh Posté le 06-06-2008 à 11:38:12
bonjour
je voulais savoir si les "fonctions" d'excel comme les sous totaux te vont.
je pense que ca devrait correspondre a ton besoin
bye
Marsh Posté le 06-06-2008 à 12:29:08
Bonjour 86vomito33, merci de ta réponse, mais je ne veux pas utiliser des sous totaux car la base de données est importante et l'automatisation avec une macro est plus approprié.
Marsh Posté le 06-06-2008 à 10:53:02
Bonjour a toutes et a tous
J'ai un petit probleme... je souhaite creer une combobox a double choix...
par exemple sur excel j'ai une base de données avec une liste de régions en colonne A et une liste de départements en colonne B et une liste de ville en colonne C.. et les infos chiffrées de chaque ville en colonne d, e, f
jaimerai dabord que l'utilisateur puisse choisir sa région et en fonction du choix on lui propose seulement les départements de la région... et enfin que l'on puisse faire une boucle qui me calcule le total des données par départements c'est à dire la somme des données de chaque ville qui appartiennent au département choisi
Merci de votre aide
voila mon début de code
Private Sub UserForm_Initialize()
Dim j As Integer, i As Integer
Dim temp()
Select_region.Clear
derLi = Sheets("Paramètres" ).Range("F1000" ).End(xlUp).Row
i = 1
ReDim temp(1 To derLi)
With Sheets("Paramètres" )
For j = 3 To derLi
If IsError(Application.Match(.Cells(j, 1), temp, 0)) Then
temp(i) = .Cells(j, 1)
i = i + 1
End If
Next j
End With
Select_region.List = temp
End Sub
Private Sub ResultatExcel_Click()
'**************
'corps tableau
'**************
Dim Region_data(1 To 27, 0 To 18)
nom_region = Select_region.Value
'selectionne les lignes de la région selon le choix effectué par le biais de la liste deroulante
Sheets("Base de données" ).Select
lbdd = 1
ltab = 1
Do Until IsEmpty(Cells(ltab, 2))
If Cells(ltab, 2) = nom_region Then
For i = 0 To 18
region_data(lbdd, i) = Cells(ltab, i + 5)
Next
lbdd = lbdd + 1
End If
ltab = ltab + 1
Loop
' compléte le tableau excel avec les données selectionnées
Sheets("Tableau_region_recap" ).Select
Range("A27" ).Resize(27, 18) = Exploit_data