Respecter l'ordre de sélection

T

Tof

Guest
Je vous ai mis un petit fichier joint avec tout d'expliqué, vous pouvez regarder SVP ?? [file name=ordre_20060427101815.zip size=2251]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ordre_20060427101815.zip[/file]
 

Pièces jointes

  • ordre_20060427101815.zip
    2.2 KB · Affichages: 17

Hervé

XLDnaute Barbatruc
Bonjour tof, mutzik

en piece jointe une proposition par l'intermédiaire d'une procédure evenementielle.

salut [file name=ordre_20060427105447.zip size=6102]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ordre_20060427105447.zip[/file]
 

Pièces jointes

  • ordre_20060427105447.zip
    6 KB · Affichages: 17

andré

XLDnaute Barbatruc
Salut tof, Mutzik et Hervé,
salut le forum,

Essai par formule circulaire :

Menu Outils / Options / Calcul / cocher 'Itération'

En E9 : =SI(F9='';0;SI(E9=0;NB(F$9:F$14);E9))
à copier jusqu'en E14

Petite imperfection : en effaçant une valeur la numérotaion de l'ordre ne s'adapte pas.

Â+

EDITION :
Petite erreur de colonne, c'est la F et non la H

Message édité par: andré, à: 27/04/2006 11:18
 

Gibson94

Nous a quitté
Repose en paix
Bonjour Tof, Mutzik, Hervé, le forum,

Hervé, je me disais que pour allonger un peu ta procédure (lol), tu devrais mettre une condition pour la colonne 'E' afin de ne pas effacer un numéro d'ordre déjà écrit. La première ligne écrite resterait la première même si on l'a modifie plus tard. Enfin, je vois les choses comme çà...

Bonne journée...

Edition: Salut André... Je ne t'avais point vu...

Message édité par: gibson94, à: 27/04/2006 11:28
 

andré

XLDnaute Barbatruc
Salut Guy et les autres,

Je viens de voir que la macro d'Hervé a le même problème que ma formule.

Au lieu d'effacer il suffit d'écraser la valeur par un 0 (ne pas valider entre-temps).
La numérotation ne se remet pas à partir de 1, mais reste néanmoins dans l'ordre de l'imputation.

Â+
 

Hervé

XLDnaute Barbatruc
bonjour tout le monde

oui, andré, meme souci que toi.

mais comme on ne sait pas comment tof veux gérer les 'réécritures'...

guy, trouverais-tu ma procédure un poil trop courte ? :)

pour te répondre précisément, on pourrait faire comme ceci :


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range('f9:f' & Range('f65536').End(xlUp).Row)) Is Nothing Then
       
If Target(1, 0) = '' Then Target(1, 0) = Application.Max(Columns('E')) + 1 '
End If
End Sub


salut
 

Gibson94

Nous a quitté
Repose en paix
Re,

C'est beaucoup mieux Hervé, là au moins, il y a quelque chose à étudier (lol).

Voilà donc le fichier qui fonctionne très bien avec la 1ère macro d'Hervé et ma touche perso (qui est la même que la 2ème macro d'Hervé mais en plus long...évidemment...lol). Ce qui est interessant, c'est que l'ordre ne change plus lorsqu'il est commencé.

[file name=ordre1.zip size=8009]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ordre1.zip[/file]

Bye
 

Pièces jointes

  • ordre1.zip
    7.8 KB · Affichages: 38
T

tof

Guest
Merci bcp Herve et GIbbson et les autres, ca marche bien mais quand je le met dans mon fichier ca ne marche pas


Peut etre parce que j'avais déjà des choses dans ma page ??

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range('a24:a' & Range('a65536').End(xlUp).Row)) Is Nothing Then
If Target.Offset(0, -1) = 0 Or Target.Offset(0, -1) = '' Then
Target.Offset(0, -1) = Application.max(Columns('B')) + 1
Else
Exit Sub
End If
End If

If Target.Address(0, 0) = 'E23' Then
Range('C24:C201').Find(Target).Select
End If
End Sub

D'ou pourrait venir l'erreur SVP ??
Ca me dit que l'application worksheet n'est pas valable à la ligne 2
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 064
Membres
103 110
dernier inscrit
Privé