Un code pourtant si simple qui ne marche pas
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)
Code:
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 |
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.
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.