VBA Excel: indiquer un numéro chrono toutes les 20 lignes

Résolu
conrade82 Messages postés 105 Statut Membre -  
conrade82 Messages postés 105 Statut Membre -
Bonjour,

Je bute sur un code de macro Excel. J'ai un fichier Excel dans lequel il y a en colonne A une liste de villes. En filtrant sur une ville, on peut avoir une multitude de lignes. Cette donnée est variable.

Quand une ville contient plus de 20 lignes, il me faut déterminer le nombre de lot de 20 lignes. J'ai pu obtenir le code suivant (merci GB):

Sub Nbre_lot()

nb_cell = 0
nb_lot = 0
ligne_fin = Sheets("Table_Report_by_town (2)").Range("N2").End(xlDown).Row

For i = 2 To ligne_fin

            If Cells(i, 1).Value <> "" Then

                    nb_cell = nb_cell + 1

            End If

Next


nb_lot = nb_cell \ 20

End Sub


Grâce à ce code je peux connaître le nombre de lot de 20 pour une ville.

Ma question, il me faut à partir de cette donnée nb_lot, donner un numéro chrono par 20 lignes. ex: en filtrant sur "Marseille", le code indique 8 lot de 20 lignes (hors ligne 1). Je voudrai pouvoir renseigner le chiffre 1 dans les cellules de B2 à B21, 3 de B22 à B41 jusqu'à atteindre le nombre nb_lot. Ce doit être une boucle mais je ne vois comment la créer.

Merci d'avance de votre aide.

Bien cordialement,
A voir également:

2 réponses

Zoul67 Messages postés 2001 Statut Membre 149
 
Bonjour,

à partir des formules ENT et NB.SI, ça doit être jouable.
VBA est-il nécessaire ?

A+
0
pijaku Messages postés 13513 Statut Modérateur 2 763
 
Bonjour,

La réponse est purement mathématiques...
For i = 1 To 8
  Range("B" & (i * 20) - 18 & ":B" & (20 * i) + 1) = i
Next

0
conrade82 Messages postés 105 Statut Membre 4
 
Merci! vous m'avez beaucoup aidé. La solution de Pijaku est parfaite.
0