Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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
269
Réponses
2
Affichages
206
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…