Pour un tri croissant/décroissant pas de problème en sélectionnant ce qu'il
y a à trier.
Cependant, comment s'y prendre pour effectuer un tri décroissant d'un
tableau de "x" lignes fixes (par exemple de ligne 2: ligne 50) sachant que
certaines lignes (par exemple de la ligne 2 à ligne 30) sont "remplies" et
les lignes 31 à 50 sont vides, mais comportent des formules.
En résumé, y a t il une astuce pour ne sélectionner que les lignes
"remplies" avant d'effectuer un tri ?
Tout ceci afin d'affecter une petite macro à un bouton nommé "Tri" pour des
personnes non initiées Excel. (Si cela est possible)
PS : j'ai jeté un oeil sur Excelabo,mais je n'ai rien trouvé.
Merci de votre diligence.
Philippe
Re-bonjour François. J'ai mis en application ta macro. Cependant ... Je te joins le fichier en question avec ci-joint. Tu vas dans le dernier onglet, j'ai mis quelques précisions pour t'aider. Merci encore de ton aide. Philippe http://cjoint.com/?fhsCifPtWr
a écrit dans le message de news:
Salut Philippe
Je te propose ce bout de code :
Do While Range("A65535").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop Range("A1", "A" & Range("A65535").End(xlUp).Offset(-i, 0).Row).EntireRow.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal
La première partie détermine la valeur i nécessaire pour atteindre la première cellule non vide à partir de celles possédant des formules
Do While Range("A65535").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
La 2° partie opère le tri descendant sur la colonne A de la zone déterminée par ce paramètre et la cellule A1 pour les lignes entière :
Re-bonjour François.
J'ai mis en application ta macro. Cependant ...
Je te joins le fichier en question avec ci-joint.
Tu vas dans le dernier onglet, j'ai mis quelques précisions pour t'aider.
Merci encore de ton aide.
Philippe
http://cjoint.com/?fhsCifPtWr
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
b58f1fea-6a35-44f6-9235-b1098decb8fd@i76g2000hsf.googlegroups.com...
Salut Philippe
Je te propose ce bout de code :
Do While Range("A65535").End(xlUp).Offset(-i, 0) = ""
i = i + 1
Loop
Range("A1", "A" & Range("A65535").End(xlUp).Offset(-i,
0).Row).EntireRow.Sort Key1:=Range("A1"), Order1:=xlDescending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom,
_
DataOption1:=xlSortNormal
La première partie détermine la valeur i nécessaire pour atteindre la
première cellule non vide à partir de celles possédant des formules
Do While Range("A65535").End(xlUp).Offset(-i, 0) = ""
i = i + 1
Loop
La 2° partie opère le tri descendant sur la colonne A de la zone
déterminée par ce paramètre et la cellule A1 pour les lignes entière :
Re-bonjour François. J'ai mis en application ta macro. Cependant ... Je te joins le fichier en question avec ci-joint. Tu vas dans le dernier onglet, j'ai mis quelques précisions pour t'aider. Merci encore de ton aide. Philippe http://cjoint.com/?fhsCifPtWr
a écrit dans le message de news:
Salut Philippe
Je te propose ce bout de code :
Do While Range("A65535").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop Range("A1", "A" & Range("A65535").End(xlUp).Offset(-i, 0).Row).EntireRow.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal
La première partie détermine la valeur i nécessaire pour atteindre la première cellule non vide à partir de celles possédant des formules
Do While Range("A65535").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
La 2° partie opère le tri descendant sur la colonne A de la zone déterminée par ce paramètre et la cellule A1 pour les lignes entière :
Rebonjours Philippes J'ai consulté ton document Mon code était en rouge signe d'une erreur de syntaxe liée à l'aboutement de lignes l'une au bout de l'autre alors qu'elle devaient être l'une aprés l'autre comme :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
dans ta recopie
alors que je t'ai donné dans ma réponse :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
Attention à ces recopies source de ce genre de mesaventure
Je t'ai mis sur ce lien ton document corrigé Testes le et dis moi !!!!
Rebonjours Philippes
J'ai consulté ton document
Mon code était en rouge signe d'une erreur de syntaxe liée à
l'aboutement de lignes l'une au bout de l'autre alors qu'elle devaient
être l'une aprés l'autre comme :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1
Loop
dans ta recopie
alors que je t'ai donné dans ma réponse :
Do While Range("B100").End(xlUp).Offset(-i, 0) = ""
i = i + 1
Loop
Attention à ces recopies source de ce genre de mesaventure
Je t'ai mis sur ce lien ton document corrigé
Testes le et dis moi !!!!
Rebonjours Philippes J'ai consulté ton document Mon code était en rouge signe d'une erreur de syntaxe liée à l'aboutement de lignes l'une au bout de l'autre alors qu'elle devaient être l'une aprés l'autre comme :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
dans ta recopie
alors que je t'ai donné dans ma réponse :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
Attention à ces recopies source de ce genre de mesaventure
Je t'ai mis sur ce lien ton document corrigé Testes le et dis moi !!!!
Milles Excuses pour cette erreur, mia culpa. J'ai une erreur de compilation : argument nommé intouvable sur DataOption1: (PS : le VBA n'est pas trop mon fort) Philippe a écrit dans le message de news:
Rebonjours Philippes J'ai consulté ton document Mon code était en rouge signe d'une erreur de syntaxe liée à l'aboutement de lignes l'une au bout de l'autre alors qu'elle devaient être l'une aprés l'autre comme :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
dans ta recopie
alors que je t'ai donné dans ma réponse :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
Attention à ces recopies source de ce genre de mesaventure
Je t'ai mis sur ce lien ton document corrigé Testes le et dis moi !!!!
Milles Excuses pour cette erreur, mia culpa.
J'ai une erreur de compilation : argument nommé intouvable sur DataOption1: (PS : le VBA n'est pas trop mon fort)
Philippe
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
03076e4a-dc7e-4ebb-8b53-da425c77b703@34g2000hsf.googlegroups.com...
Rebonjours Philippes
J'ai consulté ton document
Mon code était en rouge signe d'une erreur de syntaxe liée à
l'aboutement de lignes l'une au bout de l'autre alors qu'elle devaient
être l'une aprés l'autre comme :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1
Loop
dans ta recopie
alors que je t'ai donné dans ma réponse :
Do While Range("B100").End(xlUp).Offset(-i, 0) = ""
i = i + 1
Loop
Attention à ces recopies source de ce genre de mesaventure
Je t'ai mis sur ce lien ton document corrigé
Testes le et dis moi !!!!
Milles Excuses pour cette erreur, mia culpa. J'ai une erreur de compilation : argument nommé intouvable sur DataOption1: (PS : le VBA n'est pas trop mon fort) Philippe a écrit dans le message de news:
Rebonjours Philippes J'ai consulté ton document Mon code était en rouge signe d'une erreur de syntaxe liée à l'aboutement de lignes l'une au bout de l'autre alors qu'elle devaient être l'une aprés l'autre comme :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
dans ta recopie
alors que je t'ai donné dans ma réponse :
Do While Range("B100").End(xlUp).Offset(-i, 0) = "" i = i + 1 Loop
Attention à ces recopies source de ce genre de mesaventure
Je t'ai mis sur ce lien ton document corrigé Testes le et dis moi !!!!
2 solutions : Soit tu réalises avec l'enregistreur de macro un tri sur une plage de cellules et tu me communiques les lignes de code qu'il a réalisé afin que je l'adapte Soit tu supprimes cette partie non indispensable donnant ces lignes modifiées ainsi :
2 solutions :
Soit tu réalises avec l'enregistreur de macro un tri sur une plage de
cellules et tu me communiques les lignes de code qu'il a réalisé afin
que je l'adapte
Soit tu supprimes cette partie non indispensable donnant ces lignes
modifiées ainsi :
2 solutions : Soit tu réalises avec l'enregistreur de macro un tri sur une plage de cellules et tu me communiques les lignes de code qu'il a réalisé afin que je l'adapte Soit tu supprimes cette partie non indispensable donnant ces lignes modifiées ainsi :