IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Tri automatique et amélioration visibilité dans Excel [résolu]
Options
macmacmac
posté 1 Feb 2023, 17:36
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,


1/ Tri automatique
J'ai trouvé des infos sur Internet mais qui ne faisaient pas ce que je veux, et je n'ai pas les connaissances nécessaires pour adapter à mon besoin.
Dans un document (fichier comptes) comportant 5 colonnes, je rentre des numéros d'ordre dans la colonne 1.
Lorsque tous les numéros sont entrés, je fais une sélection et demande un tri
(En décochant au passage la case signalant qu'il y a des en-têtes, ou pas. Je n'ai jamais compris pourquoi cette case est cochée d'office, puis des fois pas, même après avoir quitté l'application. Je n'ai pas réussi à comprendre.)

Ce que je voudrais, c'est que lorsque je rentre un numéro d'ordre dans la colonne A, les colonnes A,B,C,D remontent en première position où la case dans la colonne A est vide.
Je ne sais pas si j'explique bien.
Si je tape 111 dans la colonne A, il faut que le contenu des colonnes A,B,C,D se mettent sous la ligne où la colonne A contient 110.
Mais bien sûr il faut que ce soit un tri, pas un copier/couper-déplacer, car il y a des lignes de données un peu partout.


2/ Visibilité (surbrillance?)
J'ai des problèmes de visibilité également particulièrement avec Excel depuis une des opérations.
Je ne veux pas toucher aux réglages système, contraste, couleurs, etc… car je suis j'ai été polygraphe, je tiens à un affichage non-modifié.
Actuellement, pour être sûr que je rentre le numéro d'ordre sur la bonne ligne, je vais dans la colonne D pour m'assurer que je suis sur la bonne ligne, puis je me déplace dans la colonne A à l'aide la flèche du clavier pour me rendre en colonne A et enfin entrer le numéro d'ordre.
Pourquoi? Parce que je ne distingue vraiment pas bien où je suis dans Excel, j'aurais aimé par exemple pouvoir dire qu'Excel mette en surbrillance la ligne dans laquelle une cellule est sélectionnée. Mais je ne pense pas qu'on puisse avoir ceci.
Du coup, «faute de grive on mange du merle» comme on dit, je voudrais pouvoir changer cette couleur de surbrillance d'une sélection, parce cette couleur verte dans Excel n'est pas vraiment top pour moi.


En vous remerciant de votre aide.
Merci de faire attention à ma signature, en rouge, pour ne pas me dire «mais tu es con ou quoi, c'est devant toi» 😂.


Merci 🙏

Ce message a été modifié par macmacmac - 8 Feb 2023, 13:24.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 1 Feb 2023, 18:25
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



Il pourrait être utile de préciser de quelle version d'Excel il est question, sur quelle version de macOS, ça peut avoir son intérêt.

1/ Je ne suis pas sûr de bien comprendre le problème. Quand on demande un tri, Excel sélectionne toute la plage concernée (ou utilise la plage sélectionnée, si on l'a fait au préalable) et trie en fonction des indications qu'on lui donne. Si on a une ligne de titres on coche la case idoine et la ligne de titres est exclue du tri (si on décoche, la ligne de titres est considérée comme un texte quelconque et donc intégrée au tri). On s'assure que c'est bien la colonne des numéros d'ordre qui est utilisée comme critère de tri. Et hop, c'est trié !

Par rapport à ça, quel problème rencontres-tu exactement ?

2/ Je ne crois pas qu'on puisse agir sur l'affichage dans Excel. A priori, il y a un marquage des en-têtes de la ligne et de la colonne correspondant à la sélection, mais il est vrai que ça reste plutôt discret :

Fichier joint  Capture_d_____cran_2023_02_01_a___18.24.13.png ( 30.15 Ko ) Nombre de téléchargements : 6


Ce message a été modifié par Aliboron - 3 Feb 2023, 11:37.


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
macmacmac
posté 2 Feb 2023, 11:12
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,


Version Excel 16.68 sous Ventura

Citation (Aliboron @ 1 Feb 2023, 18:25) *
Par rapport à ça, quel problème rencontres-tu exactement ?


Je vois que je n'ai pas été clair dans ma demande…
Ce que tu montres là est déjà ce que je fais.
Je ne rencontre pas de problème, ce que je veux que le tri se fasse dès l'entrée d'une saisie dans la colonne A.

Merci


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 2 Feb 2023, 13:50
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



Ah oui, c’est bien autre chose. Pour pouvoir déclencher automatiquement un tri lors de la saisie, il te faut créer une macro événementielle "Worksheet_Change".

Pour pouvoir t’aider, si nécessaire, il faudrait savoir comment est organisée ta feuille. Une capture d’écran serait probablement bien utile…


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
macmacmac
posté 2 Feb 2023, 15:02
Message #5


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,


Citation (Aliboron @ 2 Feb 2023, 13:50) *
Ah oui, c’est bien autre chose. Pour pouvoir déclencher automatiquement un tri lors de la saisie, il te faut créer une macro événementielle "Worksheet_Change".

Pour pouvoir t’aider, si nécessaire, il faudrait savoir comment est organisée ta feuille. Une capture d’écran serait probablement bien utile…


colonne A, numéro d'ordre
colonne B, date
colonne C, désignation
colonne D, montant
colonne E, solde




Merci.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 3 Feb 2023, 10:04
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



Ç’aurait été bien de voir plutôt le haut du tableau. Et aussi de savoir où et comment tu saisis les nouvelles valeurs...

Ce message a été modifié par Aliboron - 3 Feb 2023, 11:35.


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
macmacmac
posté 7 Feb 2023, 16:13
Message #7


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,



Cela-dit, les deux premières lignes peuvent être supprimées si ça peut simplifier.

Ce message a été modifié par macmacmac - 7 Feb 2023, 16:14.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 7 Feb 2023, 18:26
Message #8


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



OK. Et donc, où est-ce que tu saisis les nouvelles données, lorsqu'il y en a (celles qui devraient déclencher un tri automatique) ? Que saisis-tu exactement à ce moment et dans quel ordre?


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
macmacmac
posté 7 Feb 2023, 18:33
Message #9


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Citation (Aliboron @ 7 Feb 2023, 18:26) *
OK. Et donc, où est-ce que tu saisis les nouvelles données, lorsqu'il y en a (celles qui devraient déclencher un tri automatique) ? Que saisis-tu exactement à ce moment et dans quel ordre?

Je rentre B, C, D, lorsque j'ai connaissance des écritures, puis lorsque je vais sur le site de la banque, je pointe en rentrant A pour l'ordre chronologique.
Et c'est seulement quand j'ai fini toutes les entrées en A que je fais le tri manuellement de A,B,C,D.

Merci.

PS Je sais que ma demande est bête car un tri manuel est vite fait, mais c'est à cause de mon état de santé, je navigue, contrôle, et cherche ma sélection sans cesse.

Ce message a été modifié par macmacmac - 7 Feb 2023, 18:34.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 7 Feb 2023, 18:57
Message #10


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



Mais est-ce que tu saisis ces données ? Au bas de la liste (mais alors le numéro d'ordre doit déjà être le bon, non ?) ou ailleurs ? Sur quelle ligne ?


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
baron
posté 7 Feb 2023, 20:48
Message #11


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 312
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



En relisant plusieurs fois, voici ce que je crois avoir compris :

• Sur une seule journée, il peut y avoir plusieurs paiements, donc un tri par date ne suffit pas.
• La colonne A permet d'avoir les opérations dans le même ordre que sur le site de la banque. — Ai-je bien compris que c'est là son objet ?
• La colonne A n'est pas remplie au même moment que les colonnes B, C et D.

J'observe aussi que dans le 2e tableau en exemple (celui avec les en-têtes et la cellule Libellé en rouge), si les numéros d'ordre se suivent bien, les dates sont mélangées : 2022 et 2023 alternent.
— Mais ceci est peut-être une erreur, seulement due à un exemple bricolé trop rapidement… ?

Au final, je ne sais pas non plus trop quoi penser de tout ça…

Citation (Aliboron @ 7 Feb 2023, 18:57) *
Mais est-ce que tu saisis ces données ? Au bas de la liste (mais alors le numéro d'ordre doit déjà être le bon, non ?) ou ailleurs ? Sur quelle ligne ?

Je me pose un peu la même question :
Quand tu introduis un numéro dans ta colonne A, p.ex. le numéro 111, comment sais-tu que tu dois introduire ce nombre-là et pas un autre ?


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
Zeltron54
posté 7 Feb 2023, 21:44
Message #12


Adepte de Macbidouille
*

Groupe : Membres
Messages : 171
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonsoir,
Bien que je ne comprenne pas l'utilité, ni la méthode que tu emploies !
Je pense avoir compris que tu veux que lors de la saisie ou de la modification d'une valeur dans la colonne A, l'ensemble de ton tableau se trie automatiquement selon les valeurs de la colonne A.
Pour cela:
Clic avec le bouton droit sur le nom de la feuille actuelle dans le Barre d'onglets de la feuille, puis, dans le menu contextuel, cliquez sur le Afficher le code.
Dans la fenêtre qui s'ouvre faire un copier coller du code ci -dessous.

Code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub


De retour dans le tableau cela devrait fonctionner ...
Le tableau sera trié à chaque saisie dans la colonne A sauf la première ligne qui reste la ligne de titre.

Ce message a été modifié par Zeltron54 - 7 Feb 2023, 21:52.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
macmacmac
posté 7 Feb 2023, 22:36
Message #13


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,

Citation (baron @ 7 Feb 2023, 20:48) *
• Sur une seule journée, il peut y avoir plusieurs paiements, donc un tri par date ne suffit pas.
OUI

Citation (baron @ 7 Feb 2023, 20:48) *
• La colonne A permet d'avoir les opérations dans le même ordre que sur le site de la banque. — Ai-je bien compris que c'est là son objet ?
OUI

Citation (baron @ 7 Feb 2023, 20:48) *
• La colonne A n'est pas remplie au même moment que les colonnes B, C et D.
EXACT

Citation (baron @ 7 Feb 2023, 20:48) *
J'observe aussi que dans le 2e tableau en exemple (celui avec les en-têtes et la cellule Libellé en rouge), si les numéros d'ordre se suivent bien, les dates sont mélangées : 2022 et 2023 alternent.
— Mais ceci est peut-être une erreur, seulement due à un exemple bricolé trop rapidement… ?
La date est celle de l'opération/paiement et avec le temps de transferts/rapatriement entre comptes/pays, la date n'est plus celle de l'opération (c'est ce qu'on appel date comptable ou pas, non?)


Citation (Zeltron54 @ 7 Feb 2023, 21:44) *
Je pense avoir compris que tu veux que lors de la saisie ou de la modification d'une valeur dans la colonne A, l'ensemble de ton tableau se trie automatiquement selon les valeurs de la colonne A.
Pour cela:
Clic avec le bouton droit sur le nom de la feuille actuelle dans le Barre d'onglets de la feuille, puis, dans le menu contextuel, cliquez sur le Afficher le code.
Dans la fenêtre qui s'ouvre faire un copier coller du code ci -dessous.

Code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub


De retour dans le tableau cela devrait fonctionner ...
Le tableau sera trié à chaque saisie dans la colonne A sauf la première ligne qui reste la ligne de titre.
MERCI.
Je regarde.




Si vous ne l'avez pas compris, c'est parce que j'ai plusieurs comptes et sur deux pays, et ce compte est celui sur lequel se font tous les prélèvements, alors j'anticipe les écritures, mais comme tout ceci n'est pas identique d'un mois à l'autre… Et si ça l'était, je n'aurais rien à faire.


Encore merci de votre patience et aide 🙏

Ce message a été modifié par macmacmac - 7 Feb 2023, 22:49.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
macmacmac
posté 7 Feb 2023, 23:00
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,


Citation (Zeltron54 @ 7 Feb 2023, 21:44) *
Bonsoir,
Bien que je ne comprenne pas l'utilité, ni la méthode que tu emploies !
Je pense avoir compris que tu veux que lors de la saisie ou de la modification d'une valeur dans la colonne A, l'ensemble de ton tableau se trie automatiquement selon les valeurs de la colonne A.
Pour cela:
Clic avec le bouton droit sur le nom de la feuille actuelle dans le Barre d'onglets de la feuille, puis, dans le menu contextuel, cliquez sur le Afficher le code.
Dans la fenêtre qui s'ouvre faire un copier coller du code ci -dessous.

Code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub


De retour dans le tableau cela devrait fonctionner ...
Le tableau sera trié à chaque saisie dans la colonne A sauf la première ligne qui reste la ligne de titre.
MAGNIFIQUE, ça fonctionne très bien.
Pourrais-je avoir une modification stp?
J'ai deux lignes à ne pas prendre en compte.
Alors il faudrait que le code ne prenne pas en compte les deux premières lignes ou alors qu'on supprime cette exclusion de lignes et je les supprime, car après tout, je sais ce que les colonnes contiennent.

Lors du tri il ne faudrait pas que ça prenne la colonne E car la formule contenu dans les cellules de cette colonne affiche finalement un #VALEUR.


Merci!!! 🙏


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 7 Feb 2023, 23:44
Message #15


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



Pour conserver les lignes et la structure, j'aurais plutôt écrit la macro ainsi (mais c'est assez voisin, forcément) :

Code
Private Sub Worksheet_Change(ByVal Target As Range)

Set isect = Application.Intersect(Target, Range("A:A"))

If isect Is Nothing Then
    Exit Sub
Else
MaLigne = Target.Row

Application.EnableEvents = False
     ActiveSheet.Sort.SortFields.Add2 Key:=Range("A3:A" & MaLigne) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("A3:D" & MaLigne)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Application.EnableEvents = True
End If

End Sub


Donc, aux devinettes, il fallait comprendre que tu ajoutes la ligne en bas du tableau, mais que le numéro d'ordre n'est pas le dernier de la liste. Pour moi, ça reste étrange et un peu incompréhensible. Mais bon, l'essentiel est que tu y trouves ton compte.

Ce message a été modifié par Aliboron - 8 Feb 2023, 14:29.


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
macmacmac
posté 8 Feb 2023, 02:25
Message #16


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,

Citation (Aliboron @ 7 Feb 2023, 23:44) *
Pour conserver les lignes et la structure, j'aurais plutôt écrit la macro ainsi (mais c'est assez voisin, forcément) :

Code
Private Sub Worksheet_Change(ByVal Target As Range)

Set isect = Application.Intersect(Target, Range("A:A"))

If isect Is Nothing Then
    Exit Sub
Else
MaLigne = Target.Row

Application.EnableEvents = False
     ActiveSheet.Sort.SortFields.Add2 Key:=Range("A3:A" & MaLigne) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("A3:A" & MaLigne)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Application.EnableEvents = True
End If

End Sub
Ceci ne fonctionne pas.
Seule la cellule où je saisie le numéro d'ordre (A) monte à la suite sous les numéros d'ordre existants. Le contenu des cellules B,C,D ne bougent pas.
(et bien évidement, du coup, le numéro d'ordre que je rentre vient se mettre devant une ligne existante en attente d'un vrai numéro d'ordre)

Citation (Aliboron @ 7 Feb 2023, 23:44) *
Donc, aux devinettes, il fallait comprendre que tu ajoutes la ligne en bas du tableau, mais que le numéro d'ordre n'est pas le dernier de la liste.
Je suis navré, mais il semble que j'avais été compris, et même si j'ai des difficultés de mémorisation, il me semble que par logique la demande parle d'elle-même.
Désolé si pour moi ça semblait évident. 😞

Citation (Aliboron @ 7 Feb 2023, 23:44) *
Pour moi, ça reste étrange et un peu incompréhensible.
Je ne vois pas pourquoi, avec ceci ça place les cellules en bonne place tout seul sans que je doive faire le tri manuellement une fois les numéros d'ordre entré.

Citation (Aliboron @ 7 Feb 2023, 23:44) *
Mais bon, l'essentiel est que tu y trouves ton compte.
Comme tu dis, ce qui compte c'est que la macro fasse ce que j'attends d'elle.


Merci 🙏




(cf signature pour me comprendre un peu)

Ce message a été modifié par macmacmac - 8 Feb 2023, 02:27.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Zeltron54
posté 8 Feb 2023, 08:21
Message #17


Adepte de Macbidouille
*

Groupe : Membres
Messages : 171
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonjour,

Pour ne pas prendre en compte la deuxième ligne, le plus simple est de la numéroter 0.

Pour la colonne E qui affiche une erreur il faudrait savoir quelle est la formule qui pose problème, car si on ne l'inclue pas dans le tri celà risque de fausser les résultats.
Pour ne trier que les colonne de A à D le code devient

Code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A:D"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub







Ce message a été modifié par Zeltron54 - 8 Feb 2023, 08:54.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
macmacmac
posté 8 Feb 2023, 13:23
Message #18


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,


Citation (Zeltron54 @ 8 Feb 2023, 08:21) *
Pour ne pas prendre en compte la deuxième ligne, le plus simple est de la numéroter 0.
C'était si bête… 😔

Citation (Zeltron54 @ 8 Feb 2023, 08:21) *
Pour ne trier que les colonne de A à D le code devient
Code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A:D"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub


Merci infiniment, je suis vraiment satisfait, merci, merci! 🙏


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Aliboron
posté 8 Feb 2023, 14:27
Message #19


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 196
Inscrit : 1 Jan 2008
Lieu : Toulouse.cong
Membre no 103 942



Citation (macmacmac @ 8 Feb 2023, 03:25) *
Code
        .SetRange Range("A3:A" & MaLigne)

Ceci ne fonctionne pas.
Seule la cellule où je saisis le numéro d'ordre (A) monte à la suite sous les numéros d'ordre existants. Le contenu des cellules B,C,D ne bougent pas.

Effectivement, erreur de recopie de ma part (!), elle ne déclenche le tri que sur la colonne A. En fait il faut que cette ligne soit :

Code
        .SetRange Range("A3:D" & MaLigne)


(je corrige aussi l'original, à tout hasard)

Ce message a été modifié par Aliboron - 8 Feb 2023, 14:28.


--------------------
Bernard

MacMini, iMac et tout un tas d'accessoires -- FAQ Office Macintosh
Go to the top of the page
 
+Quote Post
macmacmac
posté 9 Feb 2023, 11:38
Message #20


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Merci à tous de votre aide, je suis très content de cette macro, évidement, n'étant pas dans ma situation, pour les autres, ce gain de tri manuel est dérisoire, mais pour moi, c'est qqchose de bien pratique.

Dommage que je n'ai rien trouvé pour le point 2/, avoir une meilleure visibilité de la position de la sélection.
Et ça me rappel une vieille époque, où nous pouvions modifier des applications avec Resedit. La modif pour laquelle j'avais été le plus content avant l'agrandissement de la fenêtre «images utilisées» dans quarkXpress Passport. Là j'ai été content de ne plus devoir tirer sur la fenêtre pour voir liste plus haute et fenêtre plus large pour voir les noms en entiers et le chemin d'accès moins tronqué.

Merci encore 🙏


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Zeltron54
posté 9 Feb 2023, 14:16
Message #21


Adepte de Macbidouille
*

Groupe : Membres
Messages : 171
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonjour,

Pour colorer la ligne de la cellule sélectionnée, il faut mettre ce code comme le précédent !
J'ai volontairement laissé le 9ième ligne avec, au début, le signe ' qui supprime son action, Cette ligne permet d'avoir la colonne en surlignage.
enlever cette ' permettra d'avoir et la ligne et la colonne en surlignage..
J'ai mis la couleur en bleue, à toi de choisir la couleur qui te convient en changeant le chiffre à la fin des lignes 8 et 9. par exemple 19 pour du jaune pale, 27 pour jaune , 15 pour gris 20 bleu pale, 22 rose foncé...etc...

Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
      ' .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub


Ce message a été modifié par Zeltron54 - 9 Feb 2023, 15:36.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
macmacmac
posté 9 Feb 2023, 16:18
Message #22


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,


Citation (Zeltron54 @ 9 Feb 2023, 14:16) *
Bonjour,

Pour colorer la ligne de la cellule sélectionnée, il faut mettre ce code comme le précédent !
J'ai volontairement laissé le 9ième ligne avec, au début, le signe ' qui supprime son action, Cette ligne permet d'avoir la colonne en surlignage.
enlever cette ' permettra d'avoir et la ligne et la colonne en surlignage..
J'ai mis la couleur en bleue, à toi de choisir la couleur qui te convient en changeant le chiffre à la fin des lignes 8 et 9. par exemple 19 pour du jaune pale, 27 pour jaune , 15 pour gris 20 bleu pale, 22 rose foncé...etc...

Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
      ' .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub

WOW je me réjouis de constater ça.
Mais je dois mettre ce bloc de code à la suite du bloc précédent? C'est ça? (je n'ose faire sans savoir).

Merci.


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post
Zeltron54
posté 9 Feb 2023, 16:19
Message #23


Adepte de Macbidouille
*

Groupe : Membres
Messages : 171
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Pas de problème tu ajoutes ce code à la suite de l'autre !
Je te met ci-dessous la même version qui colore la ligne ET la colonne !
dis-moi si c'est bon !
Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
       .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub


Ce message a été modifié par Zeltron54 - 9 Feb 2023, 17:07.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
macmacmac
posté 10 Feb 2023, 00:34
Message #24


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 704
Inscrit : 18 Nov 2004
Lieu : Suisse
Membre no 27 214



Hello,

Alors là… là… je ne sais que dire…

MERCI! 🙏


--------------------
Mac mini M2 8C CPU/10C GPU/8Go RAM - OS Sonoma(last)
Macbook Pro (mi-2012) 2.9GHz Intel Core i7 - 16Go RAM - OS Sonoma(last)
Mac mini (Late 2012) 2.5 GHz Intel Core i5 - 4Go RAM - OS Sonoma(last)

J'ai été hospitalisé, je ne suis pas con, encore lucide, mais l'info n'est pas facile à assimiler. Alors merci de votre clarté et surtout patience avec moi.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th March 2024 - 09:53