Respecter l'ordre de sélection

  • Initiateur de la discussion Initiateur de la discussion Tof
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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.

Â+
 
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
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour