Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

"bloquer" la valeur de cellules lors d'un tri

1 réponse
Avatar
stac
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'

1 réponse

Avatar
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'