Lier un compteur à une macro

Bonjour à tous, alors voilà mon soucis, j'ai créé un doc Excel qui prend des valeurs d'un autre tableur pour faire en quelques sortes un suivi de valeurs mois par mois. Mon soucis est que je voudrai dans ce même document pouvoir faire un suivi par semestre sur une autre feuille.

J'avais donc pensé comme cheminement à faire un compteur (appelons le C) sur mon bouton de récupération de données. Puis une autre macro qui, dès que C/6 est un entier, fasse une moyenne des 6 premiers mois puis l'ajoute dans la feuille prévue pour les semestres, après pour le "décalage des données" je me débrouillerai (car mon tableur fonctionne par mois N-X).

J'espère avoir été assez clair, je bloque complètement pour le compteur déjà!

Merci par avance à tout ceux qui liront ce post

Bonjour,

Plutôt que chercher à faire un compteur sur le bouton de récupération de données, tu as peut-être intérêt à déterminer le nombre de mois traités en comptant le nombre de colonnes (ou de lignes) correspondant au classement des données mensuelles.

A+

Non, en fait l'outil que j'utilise et censé être implanté de manère perreine, donc du coup ça doit être visuel et ne pas avoir trop d'informations, il me faut maximum 12 mois dans ce tableau, mais le document peut être utilisé plusieurs années. Donc je ne peux déterminer le nombre de mois au final !

Vu que c'est un tableau sur 12 mois glissant, ça ne marchera pas si je fais comme tu le dis, mais c'est quand même une bonne solution.

Et tu n'as pas la possibilité d'identifier la position du 6ème mois dans ton tableau (juin et décembre par exemple) ?

Sinon, pour répondre directement à ta question, tu peux affecter le comptage à une cellule et lancer la procédure de copie semestrielle lorsque la valeur atteint la limite fixée.

Exemple de code en utilisant A1

Private Sub CommandButton1_Click()
    Range("A1").Value = (Range("A1").Value + 1) Mod 6
    If Range("A1").Value = 0 Then
        MsgBox "Lancement de la copie semestrielle"
    End If
End Sub

A+

Comment fonctionne la fonction "Mod"?

sinon je pensais plus à quelque chose de ce genre:

Private Sub CommandButton3_Click()
Dim i, a, b As Integer
a = Range("A1")
b = 6

For i = 1 To 100
    If a = i * b Then
    MsgBox "Lancement de la copie semestrielle    

End if
Next 

End sub

Qu'est-ce que tu en pense?

L'opérateur Mod permet de diviser deux nombres en ne renvoyant que le reste.

1 Mod 6 renvoie 1

2 Mod 6 renvoie 2

3 Mod 6 renvoie 3

4 Mod 6 renvoie 4

5 Mod 6 renvoie 5

6 Mod 6 renvoie 0

7Mod 6 renvoie 1

12 Mod 6 renvoie 0

etc.

Il est donc particulièrement adapté à ta demande puisqu'il permet de "piéger" tous les multiples de 6.

Concernant ton code, je dirais que tu obtiendras un lancement si la valeur en A1 est comprise entre 6 et 600.

Est-ce vraiment ce que tu cherches ?

A+

Ah d'accord!! merci beaucoup pour cette fonction que je ne connaissais absolument pas, c'est pile ce qu'il me faut!

Rechercher des sujets similaires à "lier compteur macro"