Bonjour à tous,
J'aimerais créer une macro qui compte le nombre de cellule non vide d'une colonne sur une plage. Cependant ces cellules ne sont comptées que si la date (Se trouvant sur la même ligne) appartient a une année et un mois entré en paramètre.
Pour le moment voici le code :
(Il est un peu plus complet afin d'être sur que l'inputbox est bien un chiffre, mot de passe pour l'activer, etc)
Je suis un débutant sur VBA, j'ai trouvé beaucoup de solutions en cherchant sur ce forum et diverses autres sources, mais là cela m'échappe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 Sub ttt_annuel Dim m As Integer Dim i As Integer Dim j As Integer Dim tampon Dim date_test Dim Nb_carte Dim Ligne_vide As Boolean Dim individuel(12) As String 'Année en parametre date_test = InputBox("Entrer une Année sous la forme AAAA", "Quel l'année à tester?") 'Nombre cartes ActiveWorkbook.Sheets("Carte").Select Ligne_vide = False Nb_carte = 6 Do Until Ligne_vide = True Cells(Nb_carte, 4).Select If IsEmpty(ActiveCell) = True Then Ligne_vide = True Else: Nb_carte = Nb_carte + 1 End If Loop 'Remplissage nombre de individuelle par mois For m = 1 To 12 tampon = 0 For k = 6 To Nb_carte If IsEmpty(Cells(k, 9)) = True Then If Month(Cells(k, 6)) = m And Year(Cells(k, 6)) = date_test Then tampon = tampon + 1 End If Next k individuel(m) = tampon Next m 'affichage données Call Design ActiveSheet.Name = "Stats de l'année " & date_test For i = 1 To 23 Step 2 Cells(i, 3) = individuel((i + 1) / 2) Next i End Sub
La macro doit compter le nombre de carte dans la feuille "Carte" sur une cellule forcement pleine pour avoir le nombre de case à traiter.
Sur cette feuille on a une date ; une case vide ou non .
Ensuite elle doit compter le nombre d’occurrence entre "La cellule n'est pas vide" et vérifier que le mois et l'année de cette carte sont égaux à : une boucle faisant varier le mois de 1 a 12 / année demandée a l'utilisateur
Elle enregistre ensuite dans un tableau les résultats. Et enfin elle met ce résultat sur une nouvelle feuille.
Mon problème est que quelque soit les entrées de ma base de données le résultat est toujours 0 à l'affichage.
J'espère avoir été clair, pour la concision je ne suis pas le meilleur.
Merci d'avance pour votre aide.
Partager