EXCEL MACRO CALCUL
ephemere18
Messages postés
4
Statut
Membre
-
croy Messages postés 457 Statut Membre -
croy Messages postés 457 Statut Membre -
Bonjour à toutes et a tous!
je suis débutante et j'aimerai pouvoir effectuer un calcul pour ma base
alors elle se présente comme ceci
colonne 1 : région
colonne 2 : département
colonne 3 : ville
colonne 4, 5... jusqu' a 9 contiennent des données chiffrées propres à chaque ville (exemple nombre d'habitants, nombre de logements...)
J'ai besoin d'une macro qui additionne les données de toutes les villes appartenant au même département et qui affiche les résultats obtenus dans un tableau excel
une petite info : cette macro est utilisée dans un formulaire... on choisi la région via une combobox et puis on affiche les résultats dans un tableau excel
on a donc une ligne par département
colonne 1 liste des départements de la région
colonne 2 total nombre d'habitants des villes du département
colonne 3 total nombre de logements des villes du département.. etc jusqu’a la colonne 8
voila j'ai fais de mon mieux pour expliquer mon problème..
merci d'avance
bonne journée!
je suis débutante et j'aimerai pouvoir effectuer un calcul pour ma base
alors elle se présente comme ceci
colonne 1 : région
colonne 2 : département
colonne 3 : ville
colonne 4, 5... jusqu' a 9 contiennent des données chiffrées propres à chaque ville (exemple nombre d'habitants, nombre de logements...)
J'ai besoin d'une macro qui additionne les données de toutes les villes appartenant au même département et qui affiche les résultats obtenus dans un tableau excel
une petite info : cette macro est utilisée dans un formulaire... on choisi la région via une combobox et puis on affiche les résultats dans un tableau excel
on a donc une ligne par département
colonne 1 liste des départements de la région
colonne 2 total nombre d'habitants des villes du département
colonne 3 total nombre de logements des villes du département.. etc jusqu’a la colonne 8
voila j'ai fais de mon mieux pour expliquer mon problème..
merci d'avance
bonne journée!
A voir également:
- EXCEL MACRO CALCUL
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
5 réponses
Voici une ébauche de macro de calcul :
Cette ébauche :
- n'est pas liée à ta userform : je te conseille de bien mettre au point ta macro de calcul en mettant dedans en dur les paramètres (ici "IdF") qui seront ensuite extraits de la UserForm
- est certainement incomplète (par exemple le cumul par département) mais je ne vais pas tout faire pour toi
- est formatté et commentée ce que je te recommande car ce n'est pas du temps perdu
sub temp
set laS = sheets("base")
numLgn = 3
totalCol4 = 0
do ' boucle sur les lignes de données
laRégion = laS.cells(numLgn,1) ' extraction de la région
if( laRégion = '' ) then exit do ' si elle est vide ==> fin des données atteinte
'
if( laRégion = 'IdF' ) then ' c'est la région que l'on veut traiter
totalCol4 = totalCol4 + laS.cells(numLgn,4) ' cumul
endif
'
numLgn=numLgn+1 ' passage à la ligne de données suivante
loop
msgbox "total col 4 ' & totalCol4 ' affichage du résultat
end sub
Cette ébauche :
- n'est pas liée à ta userform : je te conseille de bien mettre au point ta macro de calcul en mettant dedans en dur les paramètres (ici "IdF") qui seront ensuite extraits de la UserForm
- est certainement incomplète (par exemple le cumul par département) mais je ne vais pas tout faire pour toi
- est formatté et commentée ce que je te recommande car ce n'est pas du temps perdu
Ma macro est commencée mais pas le code pour effectuer le calcul
Private Sub Select_region_Change()
End Sub
Private Sub UserForm_Initialize()
Dim j As Integer, i As Integer
Dim temp()
Select_region.Clear
derLi = Sheets("base").Range("F1000").End(xlUp).Row
i = 1
ReDim temp(1 To derLi)
With Sheets("base")
For j = 3 To derLi
If IsError(Application.Match(.Cells(j, 6), temp, 0)) Then
temp(i) = .Cells(j, 6)
i = i + 1
End If
Next j
End With
Select_region.List = temp
End Sub
Private Sub Select_region_Change()
End Sub
Private Sub UserForm_Initialize()
Dim j As Integer, i As Integer
Dim temp()
Select_region.Clear
derLi = Sheets("base").Range("F1000").End(xlUp).Row
i = 1
ReDim temp(1 To derLi)
With Sheets("base")
For j = 3 To derLi
If IsError(Application.Match(.Cells(j, 6), temp, 0)) Then
temp(i) = .Cells(j, 6)
i = i + 1
End If
Next j
End With
Select_region.List = temp
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question