Je vous explique le problème :
Je voudrais avoir en première colonne d'une feuille une suite toute bete de
chiffre commencant à 1 et finissant.... disons 90.
- je voudrai que si l'on insere une nouvelle ligne son numéro soit généré
automatiquement, par exemple insertion d'une ligne entre les lignes 13 et 14
me donne une nouvelle ligne numérotée 14, l'ancienne 14 devenant 15
- par contre j'aimerai que cette colonne ne change pas lors d'un tri...
par exemple :
1 A
2 G
3 J
Je rajoute : K en troisieme ligne
1 A
2 G
3 K
4 J
et le tri sur la deuxieme colonne donne par ordre croissant :
1 A
2 G
4 J
3 K
J'arrive a faire les deux options séparément, mais pas ensemble... d'après
vous c'est possible ?
L'objectif étant, à terme, de pouvoir rajouter des lignes facilement, et de
pouvoir en faisant un tri sur la première colonne après plusieurs tri
successifs (sur colonnes 2, 5, 10,...) revenir facilement à l'état initial.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé
Bonjour Stac, Mets ceci dans le module de la feuille concernée. Quand tu fait un tri, sélectionne ta plage puis, menu "Données">"Trier...">"Trier par" et choisi "Colonne B". Pour rétablir, même manip mais avec "Colonne A". Cette proc est à affiner selon tes besoins :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range Dim I As Long, J As Long
'seulement si la valeur change 'en colonne B If Not Intersect(Target, [B:B]) Is Nothing Then 'cherche la dernière cellule de B I = [B65536].End(xlUp).Row 'Plage en colonne A Set Plage = Range(Cells(1, 1), Cells(I, 1)) 'fige les évennements Application.EnableEvents = False 'numérote dans l'ordre For J = 1 To I Cells(J, 1) = J Next J 'rétabli Application.EnableEvents = True End If
End Sub
Hervé.
"stac" a écrit dans le message de news:
Bonjour,
Je vous explique le problème : Je voudrais avoir en première colonne d'une feuille une suite toute bete de
chiffre commencant à 1 et finissant.... disons 90. - je voudrai que si l'on insere une nouvelle ligne son numéro soit généré automatiquement, par exemple insertion d'une ligne entre les lignes 13 et 14
me donne une nouvelle ligne numérotée 14, l'ancienne 14 devenant 15 - par contre j'aimerai que cette colonne ne change pas lors d'un tri...
par exemple : 1 A 2 G 3 J
Je rajoute : K en troisieme ligne 1 A 2 G 3 K 4 J
et le tri sur la deuxieme colonne donne par ordre croissant : 1 A 2 G 4 J 3 K
J'arrive a faire les deux options séparément, mais pas ensemble... d'après vous c'est possible ?
L'objectif étant, à terme, de pouvoir rajouter des lignes facilement, et de
pouvoir en faisant un tri sur la première colonne après plusieurs tri successifs (sur colonnes 2, 5, 10,...) revenir facilement à l'état initial.
Merci de vos réponses éventuelles ;-)
Stac'
Bonjour Stac,
Mets ceci dans le module de la feuille concernée. Quand tu fait un tri,
sélectionne ta plage puis, menu "Données">"Trier...">"Trier par" et choisi
"Colonne B". Pour rétablir, même manip mais avec "Colonne A".
Cette proc est à affiner selon tes besoins :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim I As Long, J As Long
'seulement si la valeur change
'en colonne B
If Not Intersect(Target, [B:B]) Is Nothing Then
'cherche la dernière cellule de B
I = [B65536].End(xlUp).Row
'Plage en colonne A
Set Plage = Range(Cells(1, 1), Cells(I, 1))
'fige les évennements
Application.EnableEvents = False
'numérote dans l'ordre
For J = 1 To I
Cells(J, 1) = J
Next J
'rétabli
Application.EnableEvents = True
End If
End Sub
Hervé.
"stac" <stac@discussions.microsoft.com> a écrit dans le message de news:
7CE80634-F57A-48C1-ADCC-65B0D3876035@microsoft.com...
Bonjour,
Je vous explique le problème :
Je voudrais avoir en première colonne d'une feuille une suite toute bete
de
chiffre commencant à 1 et finissant.... disons 90.
- je voudrai que si l'on insere une nouvelle ligne son numéro soit généré
automatiquement, par exemple insertion d'une ligne entre les lignes 13 et
14
me donne une nouvelle ligne numérotée 14, l'ancienne 14 devenant 15
- par contre j'aimerai que cette colonne ne change pas lors d'un tri...
par exemple :
1 A
2 G
3 J
Je rajoute : K en troisieme ligne
1 A
2 G
3 K
4 J
et le tri sur la deuxieme colonne donne par ordre croissant :
1 A
2 G
4 J
3 K
J'arrive a faire les deux options séparément, mais pas ensemble... d'après
vous c'est possible ?
L'objectif étant, à terme, de pouvoir rajouter des lignes facilement, et
de
pouvoir en faisant un tri sur la première colonne après plusieurs tri
successifs (sur colonnes 2, 5, 10,...) revenir facilement à l'état
initial.
Bonjour Stac, Mets ceci dans le module de la feuille concernée. Quand tu fait un tri, sélectionne ta plage puis, menu "Données">"Trier...">"Trier par" et choisi "Colonne B". Pour rétablir, même manip mais avec "Colonne A". Cette proc est à affiner selon tes besoins :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Plage As Range Dim I As Long, J As Long
'seulement si la valeur change 'en colonne B If Not Intersect(Target, [B:B]) Is Nothing Then 'cherche la dernière cellule de B I = [B65536].End(xlUp).Row 'Plage en colonne A Set Plage = Range(Cells(1, 1), Cells(I, 1)) 'fige les évennements Application.EnableEvents = False 'numérote dans l'ordre For J = 1 To I Cells(J, 1) = J Next J 'rétabli Application.EnableEvents = True End If
End Sub
Hervé.
"stac" a écrit dans le message de news:
Bonjour,
Je vous explique le problème : Je voudrais avoir en première colonne d'une feuille une suite toute bete de
chiffre commencant à 1 et finissant.... disons 90. - je voudrai que si l'on insere une nouvelle ligne son numéro soit généré automatiquement, par exemple insertion d'une ligne entre les lignes 13 et 14
me donne une nouvelle ligne numérotée 14, l'ancienne 14 devenant 15 - par contre j'aimerai que cette colonne ne change pas lors d'un tri...
par exemple : 1 A 2 G 3 J
Je rajoute : K en troisieme ligne 1 A 2 G 3 K 4 J
et le tri sur la deuxieme colonne donne par ordre croissant : 1 A 2 G 4 J 3 K
J'arrive a faire les deux options séparément, mais pas ensemble... d'après vous c'est possible ?
L'objectif étant, à terme, de pouvoir rajouter des lignes facilement, et de
pouvoir en faisant un tri sur la première colonne après plusieurs tri successifs (sur colonnes 2, 5, 10,...) revenir facilement à l'état initial.