Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

tri de données

  • Initiateur de la discussion Initiateur de la discussion f69815
  • 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 !

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

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

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

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]
 
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.
@+
 
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.
 
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

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

- 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

Réponses
4
Affichages
163
Réponses
7
Affichages
258
Réponses
3
Affichages
300
Réponses
9
Affichages
555
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…