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

Résolu/Fermé
conrade82 Messages postés 96 Date d'inscription dimanche 21 avril 2013 Statut Membre Dernière intervention 9 septembre 2016 - Modifié par pijaku le 17/01/2014 à 13:30
conrade82 Messages postés 96 Date d'inscription dimanche 21 avril 2013 Statut Membre Dernière intervention 9 septembre 2016 - 19 janv. 2014 à 11:46
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 lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
17 janv. 2014 à 09:12
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
17 janv. 2014 à 13:39
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 dimanche 21 avril 2013 Statut Membre Dernière intervention 9 septembre 2016 4
19 janv. 2014 à 11:46
Merci! vous m'avez beaucoup aidé. La solution de Pijaku est parfaite.
0