tri de données

  • Initiateur de la discussion f69815
  • Date de début
F

f69815

Guest
bonjour,

dans la feuille j'ai 3 colonnes :date arrivée, date souhaitée et date réalisée.

je désire faire trois choses :
1) faire un tri croissant sur la colonne date souhaitée.

2) placer les lignes dont le champ de la colonne date réalisée, est repli, à la fin des lignes.

3) si de nouvelle ligne dont le champ date réalisée arrive les placer dans l'ordre dans la partie des lignes dont le champ est vierge, sans pour autant bouger celles qui ont été déplacées au paragraphe 2.

j'arrive presqu'à faire le un et le deux mais pour le 3 ??????

fichier joint, en jaune les cellules déplacées.

merci et bon dimanche. [file name=date_20060402095308.zip size=7166]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/date_20060402095308.zip[/file]
 

Pièces jointes

  • date_20060402095308.zip
    7 KB · Affichages: 9

pierrejean

XLDnaute Barbatruc
bonjour f69815

je ne comprends pas bien le numero 3 :

comment de nouvelles lignes arrivent-elles

par insertion ?

par date réalisée servie ?

autre ??

par ailleurs il semble que certaines dates voient se permuter jour et mois (exemple num ordre 48 qui passe de 01/12 à 12/01
 
F

f69815

Guest
bonjour pierrejean,

pour les dates le problème est réglé, j'ai repris un vieux fichier non modifié.

les lignes viennent s'ajouter à la première ligne libre.

avec :
num_ordre demandeur sce tel(non oblig) date arrivée date souhaitée.

il faut que je précise que dans chaque feuille j'ai le code suivant : dans fichier joint


mais tout est classé par num_ordre, et je veux afficher par priorité les tâches à effectuer le plus tôt tout en mettant à la fin ce qui est terminé.

voila j'espère que mes explications sont plus précises.

merci de ta collabration.

pour la date tu peux voir le post 149518 [file name=codes.zip size=580]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/codes.zip[/file]
 

Pièces jointes

  • codes.zip
    580 bytes · Affichages: 16
  • codes.zip
    580 bytes · Affichages: 14
  • codes.zip
    580 bytes · Affichages: 10

pierrejean

XLDnaute Barbatruc
re

vois si cela te conviens

si probleme ne pas hesiter à revenir [file name=date_20060402150737.zip size=13604]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/date_20060402150737.zip[/file]
 

Pièces jointes

  • date_20060402150737.zip
    13.3 KB · Affichages: 10

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour PierreJean, f698157215751155798156788 (si je ne me suis pas planté !), le Forum

Cher PierreJean, sans approndir ton code que je me suis permis de regarder, je reviens donc te donner deux petits conseils de base en VBA :

1) Il est très déconseillé de faire des déclarations de Variables en dehors de leur Sub respectives... Ceci a pour effet de les rendre Publiques, même si l'expression Public n'est pas employée, le Dim les rend publiques niveau Module, ce qui peut avoir des effets incontrôlables si l'on développe une applie plus conséquente, et bien sûr ne libère pas les ressources systèmes.

2) L'Option Explicit c'est bien, mais ce Statement n'oblige (hélas) qu'à déclarer les Variables, mais n'oblige en aucan cas à déclarer leur type respectif. Dans le cas présent :

Dim derlin, n As Integer

Seul 'n' est Integer, 'derlin' sera considérée comme étant une Variable de Type Variant... Gourmant en espace mémoire, et pouvant même engendrer des surprises...

Dans sa souplesse de programmation VBA permet ce genre de syntax, mais il est bon de savoir comment il les traîtera aussi.

Par conséquent Trois syntaxes possibles :
1) Méthode Classique
Sub classement()
Dim derlin As Integer
Dim n As Integer
'...etc

2) Méthode Abrégée Linéaire
Sub classement()
Dim derlin As Integer, n As Integer
'...etc

3) Méthode 'Docteur en médecine' ou 'Patte de mouche'
Sub classement()
Dim derlin%, n%
'...etc

Cette dernière méthode est, pour mon humbre avis, a totalement proscrire d'un forum de partage de connaissance, à moins que l'on veuille délibérément épater la galerie et égarer encore un peu plus les débutants/débutantes.

Bonne fin de journée
[ol]@+Thierry[/ol]
PS arf énervant de faire des longs posts d'une main !
 

pierrejean

XLDnaute Barbatruc
bonjour Thierry

tout d'abord mes excuses pour t'avoir obligé de pianoter d'une seule main

ensuite:
1) peu habitué à l'option explicit (par fainéantise)je l'ai ajouté en fin d'exercice ce qui m'a bien evidemment contraint à declarer les variables et la, eh bien je les mises n'importe ou
c'est bien pire que d'avoir voulu les declarer publiques
2)pour l'avoir vu ici ou la le genre Dim m,n as integer me paraissait une economie de frappe appreciable et j'ignorais totalement le desinteret d'excel pour la premiere citée
J'ais donc encore appris quelque chose aujourd'hui
Et je pense que d'autres pourront profiter de cette leçon
dis-moi c'est pas un ZOP quand même ???
Amicalement
Pierre

version corrigée et commentée [file name=date_20060402182110.zip size=13604]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/date_20060402182110.zip[/file]

Message édité par: pierrejean, à: 02/04/2006 18:21
 

Pièces jointes

  • date_20060402182110.zip
    13.3 KB · Affichages: 12

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir PierreJean, le Forum

Tout d'abord je pense que tu t'es trompé de fichier pour ta version corrigée, car c'est la même que la précédente.

Sinon, j'ai déjà, à plusieurs reprises dans le Forum première génération, tenté de rectifier cette mauvaise habitude de certains à rédiger une syntax incorrecte, et comme tu le dis toi-même, cette mauvaise habitude se perpétue rapidement dès qu'elle se trouve publiée dans un tel Forum.

La pire des choses qui pourrait arriver à XLD, c'est de devenir un Forum de partage de connaissance.... foireuses !!! lol

En 2002 ici même je conseillais mon grand ami Vériland Lien supprimé

Voici donc la raison pour laquelle je suis intervenu ici aujourd'hui, surtout pas pour me moquer ou te charrier ou t'envoyer au Zop.

Sinon pour le ZOP, non non mon Cher PierreJean, à mon sens, être bon pour le ZOP, c'est lors d'une réponse complétement inappropriée et totalement à coté de la plaque, pour peu que la question est un sens bien entendu !

Donc dans le cas présent, tu réponds bien à la demande, tu n'es pas candidat au ZOP !!! ;)

Bonne fin de journée
[ol]@+Thierry[/ol]
 

f69815

XLDnaute Occasionnel
bonsoir pierrejean, _thierry et tout le forum,

je rentre à l'instant et je vais regarder la macro, je pense donner une réponse demain, la journée a été très difficile, nous avons 4 enfants handicapés, c'est pas tous les jours dimanche, surtout le dimanche.
@+
 

pierrejean

XLDnaute Barbatruc
re tous

voici la vraie version corrigée et commentée

merci encore à Thierry [file name=date_20060403153433.zip size=12669]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/date_20060403153433.zip[/file]
 

Pièces jointes

  • date_20060403153433.zip
    12.4 KB · Affichages: 11

f69815

XLDnaute Occasionnel
bonsoir pierrejean,

tout d'abord merci.

je ne comprends pas grand chose au code.

je vois bien les données se déplacer, mais je ne comprens pas comment.

le fait que la ligne se déplace c'est déja bien, mais en plus, ma demande ne doit pas être claire, il faut qu'elle disparaisse de sa position initiale et qu'elle vienne se positionner dans la même plage (colonne 1 à 7).

réglons ce point, ensuite nous pourrons voir le tri des lignes dont la cellule de la colonne 7 est vide.

ne perd pas de vue que c'est dans le même tableau que tout se passe.

merci, courage fuyons.
 

pierrejean

XLDnaute Barbatruc
bonjour f69815

C'est par prudence que j'avais recopié le tableau à coté

En effet dans ces manipulations de lignes il est tres vite fait d'en supprimer sans s'en apercevoir

voila la version classement sur place

j'ais tout de meme recopié le tableau initial sur la feuiile 2

si probleme ne pas hesiter à revenir [file name=date_20060404080515.zip size=13961]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/date_20060404080515.zip[/file]
 

Pièces jointes

  • date_20060404080515.zip
    13.6 KB · Affichages: 11

f69815

XLDnaute Occasionnel
bonsoir pierrejean,

alors là chapeau bas c'es impécable, tout à fait ce que je voulais.

je vais regarder le code d'un peu plus près pour comprendre.

bien entendu il y a la cerise sur le gâteau : pour l'instant j'appelle la macro par un call si la cellule n'est pas vide.
l'origine s'efface bien et est recopiée en fin de liste.


mais supposons que l'on se trompe de ligne lors de la saisie colonne G et qu'on veuille revenir à la situation antérieur comment faire ? car l'annuler est inactif.

bonne soirée
 

f69815

XLDnaute Occasionnel
coucou pierrejean,

pour la compréhension de quelques lignes je suis toujours aussi nul.

question :

quand tu fais le tri sur la date souhaitée est ce que tu prends l'ensemble des données, même celles qui sont avec la date réalisée remplie ?

car si c'est le cas il faudrait prendre en compte les données jusqu'à la colonne 'S'.

comment faire pour étendre la sélection, de la même façon que lorsqu'on sélectionne une colonne , puis tri .....message d'excel voulez-vous étendre la sélection

peux tu m'expliquer plus en détail la partie :
on classe par ordre croissant sur la date souhaitée.

merci
 

pierrejean

XLDnaute Barbatruc
bonjour f69815

a ma connaissance il n'est pas possible de revenir à l'origine d'un tri sur place si cette origine n'est pas elle-même un tri
s'il s'agit deja d'un tri alors il suffit de le reprendre
quant aux explications je t'en ais mis un peu en commentaires (mais il ne faut pas negliger la touche F1 :sur mon clavier elle sera usée à breve échéance MDR) [file name=date_20060407091607.zip size=14440]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/date_20060407091607.zip[/file]
 

Pièces jointes

  • date_20060407091607.zip
    14.1 KB · Affichages: 11

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
324

Statistiques des forums

Discussions
312 305
Messages
2 087 088
Membres
103 461
dernier inscrit
dams94