Incrémentation d'une colonne sur 10 lignes

xorre

XLDnaute Junior
Bonjour,j'espère que je trouverais écho ^^
je souhaite rendre "automatique" une action manuelle qui va me prendre vraiment vraiment beaucoup de temps ....

l'incrémentation de ma colonne A de mon fichier excel.

Je vais avoir plus de 7500 lignes et je souhaite donner le même numéro dans ma colonne A toutes les 10 lignes

je commence à la ligne 2
et les 9 prochaines lignes, je souhaite avoir 1 dans la colonne A sur la ligne 2,3,4,5,6,7,8,9, 10 ,11
puis 2 de 12 à 21
puis 3 de 22 à 31
etc
etc. Jusquà ma dernière ligne où A est référencé.
jusqu'à ce qu'on rencontre un vide en colonne A


Je ne peux par contre pas toucher à ma page puisqu'elle devra être lu par un .exe. Donc aucun ajout direct dessus ;)

Je cherche aussi à paramétrer ce nombre de ligne au lieu de 10 le faire toutes les 20 40 60 ... lignes :)
En vous remerciant d'avance... car côté VBA je ne vois pas trop comment faire ....
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Incrémentation d'une colonne sur 10 lignes

Bonjour Xorre, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim i As Long 'déclare la variable i (Incrément)

dl = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
Cells(2, 1).Value = 1 'initialise le comptage
For i = 1 To dl 'boucle de 1 à dl
    Cells(i + 2, 1).Value = (i \ 10) + 1 'place dans la ligne (i+2) l'entier de la division de i par 10, plus 1
Next i 'prochaine ligne de la boucle
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Incrémentation d'une colonne sur 10 lignes

Bonjour Xorre, Robert:)

une autre approche avec une "inputbox" :
Code:
Option Explicit
Sub test()
Dim n As Variant, i As Long, j As Integer
n = Application.InputBox("Indiquer le pas ?", Type:=1)
If VarType(n) = vbBoolean Then Exit Sub
j = 1
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step n
    Cells(i, 1).Resize(10) = j
    j = j + 1
Next i
End Sub

bon après midi
@+
 

xorre

XLDnaute Junior
Re : Incrémentation d'une colonne sur 10 lignes

Ca marche du tonnerre.

Je m'emploi à comprendre comment c'est fait par la même occasion ;)

merci beaucoup !

PS : J'essaye de voir s'il est possible aussi de choisir dans une inputbox, la colonne dans laquelle changer l'incrément :)
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Incrémentation d'une colonne sur 10 lignes

Re,

avec le numéro de la colonne à saisir dans une autre "inputbox" :
Code:
Option Explicit
Sub test()
Dim n As Variant, c As Variant, i As Long, j As Integer
n = Application.InputBox("Indiquer le pas ?", Type:=1)
c = Application.InputBox("Indiquer le numéro de la colonne...", Type:=1)
If VarType(n) = vbBoolean Or VarType(c) = vbBoolean Then Exit Sub
j = 1
For i = 2 To Cells(Rows.Count, c).End(xlUp).Row Step n
    Cells(i, c).Resize(10) = j
    j = j + 1
Next i
End Sub


Aarf Aarf... t'énerve pas trop Robert:)
 

xorre

XLDnaute Junior
Re : Incrémentation d'une colonne sur 10 lignes

Part-on du postulat que la colonne A est la colonne 1 ou 0 ?

Si je souhaite faire comme la colonne A mais pour la colonne I ?

Si je souhaite partir d'un numéro voulu ? (paramétrable :))

oui je sais j'abuse :D

juré après ca devrait être bon ;)
 

Pierrot93

XLDnaute Barbatruc
Re : Incrémentation d'une colonne sur 10 lignes

Re,

Part-on du postulat que la colonne A est la colonne 1 ou 0 ?

colonne A = colonne 1... pas de colonne 0...

Si je souhaite faire comme la colonne A mais pour la colonne I ?
bah... tu mets 9...

Si je souhaite partir d'un numéro voulu ? (paramétrable )

si par la tu entends un numéro de colonne par défaut :
Code:
c = Application.InputBox("Indiquer le numéro de la colonne...", Default:=9, Type:=1)
 

xorre

XLDnaute Junior
Re : Incrémentation d'une colonne sur 10 lignes

OK je vois merci :)

sinon j'ai remarqué qu'avec Cells(i, 1).Resize(10) = j

tous les 10 c'est comme si on repartait de 1...

Le mécanisme bug quand je mets l'incrémentation pour 20 lignes, et fonctionne correctement quand je mets le resize à 20 :)

En tous les cas grands merci ca me facilite grandement la tâche

vive le VBA ^^
 

Discussions similaires

Réponses
9
Affichages
247
Réponses
2
Affichages
181

Statistiques des forums

Discussions
312 571
Messages
2 089 808
Membres
104 277
dernier inscrit
akdeche