incrementer + 1 toutes les 3 lignes

emp06bis

XLDnaute Junior
Merci de m'aider
je souhaite incrémenter toutes les lignes un chiffre + 1
ligne 1 300
ligne 2 300
ligne 3 300
ligne 4 301
ligne 5 301
ligne 6 301
ligne 7 302
etc....
le fichier devant être ensuite reclassé, il ne faut pas que la formule puisse l'en empecher ou modiifé les numéros crés.
Merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Emp numéro bis, bonjour le forum,

En formule je ne sais pas faire mais peut-être que cette macro fera l'affaire :


Sub Macro1()
Dim deb As Long 'déclare la variable deb

deb = 300 'définit la variable deb
Range('A1') = deb 'attribue la valeur deb à la cellule A1

For x = 2 To 501 'boucle sur 500 lignes (à adapter au nombre de lignes que tu désires)

If x Mod 3 = 1 Then 'condition : si le reste de la division de x pas 3 est égal à 1
deb = deb + 1 'redéfinit la variable deb
Cells(x, 1) = deb 'attribue la valeur deb à la cellue LxC1
Else 'sinon
Cells(x, 1) = deb 'attribue la valeur deb à la cellue LxC1
End If 'fin de la condition

Next x 'prochaine ligne de la boucle

End Sub
 

emp06bis

XLDnaute Junior
Si tu une base données simple mais avec une 15qz de champs
noms libelleé montants numéro de pièces code journal etc...
j'ai besoin d'incrémenter mes numéros de fres qui se trouvent au sein de cette base
Mais j'ai besoin également par la suite de pouvoir continuer à faire des tris
ordre alpha code piéces montants etc...
suis je assez clair ?
Merci de votre aide
 

emp06bis

XLDnaute Junior
ligne 1 numéro 300
ligne 2 nuémro 300
ligne 3 numéro 300
ligne 4 num 301
ligne 5 num 301
ligne 6 num 301
ligne 7 num 302
etc....
le fichier devant être ensuite reclassé, il ne faut pas que la formule puisse l'en empecher ou modiifé les numéros crés.
Merci
 

pierrejean

XLDnaute Barbatruc
veux-tu essayer cette macro
tu selectionnes la colonne que tu veux traiter et tu lances la macro

si ma façon de reperer les premieres et dernieres cellules de la selection paraissent etranges (et c'est surement le cas) j suis interessé par toute autre methode

Sub incr()
For Each cel In Selection
deb = cel.Row
col = cel.Column
Exit For
Next
For Each cel In Selection
fin = cel.Row
Next
premier = Cells(deb, col) - 1
For n = deb To fin
Cells(n, col) = premier
If n Mod 3 = 0 Then
premier = premier + 1
Cells(n, col) = premier
End If
Next
End Sub
 

Discussions similaires

Réponses
7
Affichages
347
Réponses
22
Affichages
764

Statistiques des forums

Discussions
312 198
Messages
2 086 119
Membres
103 124
dernier inscrit
Antoine Vdm