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

Résolu
conrade82 Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   -  
conrade82 Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   -
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 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonjour,

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

A+
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
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 96 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci! vous m'avez beaucoup aidé. La solution de Pijaku est parfaite.
0