Tri générique

Le
NewsMic
Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de A18 à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle peut
aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer dans cette
macro un tri "générique"sur la colonne H pour la plage A18:H35, c'est à
dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis les
valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #18840641
bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal

DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :
Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de A18 à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle peut
aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer dans cette
macro un tri "générique"sur la colonne H pour la plage A18:H35, c'est à
dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis les
valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic





NewsMic
Le #18878591
Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une nouvelle
feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en page)
Les articles avec un montant sont en haut à partir de A18. Les articles
commençant avec des lettres sont en bas, en partant de A35 et en remontant.
Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test manuellement
de supprimer (touche Suppr) la plage comprise entre le dernier article et la
fin des lignes de commandes, le tri fonctionne parfaitement, tous les
articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%
bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :
Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de A18 à
H35
La colonne H est celle du montant ligne avec 2 décimales mais elle peut
aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer dans
cette macro un tri "générique"sur la colonne H pour la plage A18:H35,
c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis les
valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic







isabelle
Le #18879501
bonjour NewsMic,

normalement en fesant un trie les ligne vide se retrouve en bas du
tableau automatiquement, non ?
à moins que je n'ai pas compris la disposition de tes données.. donne un
exemple si tu peux,

a+
isabelle

NewsMic a écrit :
Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une nouvelle
feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en page)
Les articles avec un montant sont en haut à partir de A18. Les articles
commençant avec des lettres sont en bas, en partant de A35 et en remontant.
Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test manuellement
de supprimer (touche Suppr) la plage comprise entre le dernier article et la
fin des lignes de commandes, le tri fonctionne parfaitement, tous les
articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%

bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :

Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de A18 à
H35
La colonne H est celle du montant ligne avec 2 décimales mais elle peut
aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer dans
cette macro un tri "générique"sur la colonne H pour la plage A18:H35,
c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis les
valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic












NewsMic
Le #18882281
Bonjour,
Voici une reproduction en copier/coller de la grille de saisie, avec la
macro.
J'ai refait le test sur ce fichier d'exemple. Même résultat.
Pour moi, les lignes sont vides. L'option "afficher un zéro dans les
cellules qui ont une valeur nulle" est cochée.
http://cjoint.com/?dojucPlJqC

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%
bonjour NewsMic,

normalement en fesant un trie les ligne vide se retrouve en bas du tableau
automatiquement, non ?
à moins que je n'ai pas compris la disposition de tes données.. donne un
exemple si tu peux,

a+
isabelle

NewsMic a écrit :
Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un
souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une nouvelle
feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en page)
Les articles avec un montant sont en haut à partir de A18. Les articles
commençant avec des lettres sont en bas, en partant de A35 et en
remontant. Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test
manuellement de supprimer (touche Suppr) la plage comprise entre le
dernier article et la fin des lignes de commandes, le tri fonctionne
parfaitement, tous les articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%

bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le
tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :

Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de A18
à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle peut
aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer dans
cette macro un tri "générique"sur la colonne H pour la plage A18:H35,
c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis les
valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic















isabelle
Le #18884351
bonjour NewsMic,

desolé je travaille sur la version xl2002,

isabelle



NewsMic a écrit :
Bonjour,
Voici une reproduction en copier/coller de la grille de saisie, avec la
macro.
J'ai refait le test sur ce fichier d'exemple. Même résultat.
Pour moi, les lignes sont vides. L'option "afficher un zéro dans les
cellules qui ont une valeur nulle" est cochée.
http://cjoint.com/?dojucPlJqC

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%

bonjour NewsMic,

normalement en fesant un trie les ligne vide se retrouve en bas du tableau
automatiquement, non ?
à moins que je n'ai pas compris la disposition de tes données.. donne un
exemple si tu peux,

a+
isabelle

NewsMic a écrit :

Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un
souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une nouvelle
feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en page)
Les articles avec un montant sont en haut à partir de A18. Les articles
commençant avec des lettres sont en bas, en partant de A35 et en
remontant. Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test
manuellement de supprimer (touche Suppr) la plage comprise entre le
dernier article et la fin des lignes de commandes, le tri fonctionne
parfaitement, tous les articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%


bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le
tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :


Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de A18
à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle peut
aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer dans
cette macro un tri "générique"sur la colonne H pour la plage A18:H35,
c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis les
valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic



















NewsMic
Le #18887131
Alors voici le fichier enregistré au format 97-2003. Le résultat de la macro
est le même.
http://cjoint.com/?dosVcL13fS
Quand bien même vous auriez un problème d'ouverture, je reprends ma
question, si vous savez :
Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci
NewsMic

"isabelle" a écrit dans le message de news:
%23%23OG%
bonjour NewsMic,

desolé je travaille sur la version xl2002,

isabelle



NewsMic a écrit :
Bonjour,
Voici une reproduction en copier/coller de la grille de saisie, avec la
macro.
J'ai refait le test sur ce fichier d'exemple. Même résultat.
Pour moi, les lignes sont vides. L'option "afficher un zéro dans les
cellules qui ont une valeur nulle" est cochée.
http://cjoint.com/?dojucPlJqC

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%

bonjour NewsMic,

normalement en fesant un trie les ligne vide se retrouve en bas du
tableau automatiquement, non ?
à moins que je n'ai pas compris la disposition de tes données.. donne un
exemple si tu peux,

a+
isabelle

NewsMic a écrit :

Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un
souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une nouvelle
feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en page)
Les articles avec un montant sont en haut à partir de A18. Les articles
commençant avec des lettres sont en bas, en partant de A35 et en
remontant. Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test
manuellement de supprimer (touche Suppr) la plage comprise entre le
dernier article et la fin des lignes de commandes, le tri fonctionne
parfaitement, tous les articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35),
avant d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%


bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le
tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :


Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de
A18 à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle
peut aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer
dans cette macro un tri "générique"sur la colonne H pour la plage
A18:H35, c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis
les valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic






















isabelle
Le #18891781
bonjour NewsMic,

il faut ajouter ces lignes :

x = Range("A65536").End(xlUp).Row + 1
Rows(x & ":65536").Clear

isabelle

NewsMic a écrit :
Alors voici le fichier enregistré au format 97-2003. Le résultat de la macro
est le même.
http://cjoint.com/?dosVcL13fS
Quand bien même vous auriez un problème d'ouverture, je reprends ma
question, si vous savez :
Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci
NewsMic

"isabelle" a écrit dans le message de news:
%23%23OG%

bonjour NewsMic,

desolé je travaille sur la version xl2002,

isabelle



NewsMic a écrit :

Bonjour,
Voici une reproduction en copier/coller de la grille de saisie, avec la
macro.
J'ai refait le test sur ce fichier d'exemple. Même résultat.
Pour moi, les lignes sont vides. L'option "afficher un zéro dans les
cellules qui ont une valeur nulle" est cochée.
http://cjoint.com/?dojucPlJqC

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%


bonjour NewsMic,

normalement en fesant un trie les ligne vide se retrouve en bas du
tableau automatiquement, non ?
à moins que je n'ai pas compris la disposition de tes données.. donne un
exemple si tu peux,

a+
isabelle

NewsMic a écrit :


Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un
souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une nouvelle
feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en page)
Les articles avec un montant sont en haut à partir de A18. Les articles
commençant avec des lettres sont en bas, en partant de A35 et en
remontant. Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test
manuellement de supprimer (touche Suppr) la plage comprise entre le
dernier article et la fin des lignes de commandes, le tri fonctionne
parfaitement, tous les articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35),
avant d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%



bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour le
tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :



Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de
A18 à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle
peut aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer
dans cette macro un tri "générique"sur la colonne H pour la plage
A18:H35, c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis
les valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic

























NewsMic
Le #18911481
Bonjour,

C'est presque ça. Mais le clear ne doit s'appliquer qu'au lignes vides de la
plage A18:H35.
Là, tout est effacé jusqu'au bas de la feuille.
Merci,
NewsMic

"isabelle" a écrit dans le message de news:

bonjour NewsMic,

il faut ajouter ces lignes :

x = Range("A65536").End(xlUp).Row + 1
Rows(x & ":65536").Clear

isabelle

NewsMic a écrit :
Alors voici le fichier enregistré au format 97-2003. Le résultat de la
macro est le même.
http://cjoint.com/?dosVcL13fS
Quand bien même vous auriez un problème d'ouverture, je reprends ma
question, si vous savez :
Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35), avant
d'effectuer le tri ?

Merci
NewsMic

"isabelle" a écrit dans le message de news:
%23%23OG%

bonjour NewsMic,

desolé je travaille sur la version xl2002,

isabelle



NewsMic a écrit :

Bonjour,
Voici une reproduction en copier/coller de la grille de saisie, avec la
macro.
J'ai refait le test sur ce fichier d'exemple. Même résultat.
Pour moi, les lignes sont vides. L'option "afficher un zéro dans les
cellules qui ont une valeur nulle" est cochée.
http://cjoint.com/?dojucPlJqC

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%


bonjour NewsMic,

normalement en fesant un trie les ligne vide se retrouve en bas du
tableau automatiquement, non ?
à moins que je n'ai pas compris la disposition de tes données.. donne
un exemple si tu peux,

a+
isabelle

NewsMic a écrit :


Bonjour et merci Isabelle,

J'ai essayé les 2 options , Normal et TextAsNumber et j'ai encore un
souci.
J'explique un peu plus en détail car j'ai changé le moment du tri :
J'ai une feuille de saisie dans un classeur A.
L'exécution de la macro Validation copie les valeurs dans une
nouvelle feuille incrémentée dans un classeur B
Et c'est là que je fais le tri (inclus dans une macro de mise en
page)
Les articles avec un montant sont en haut à partir de A18. Les
articles commençant avec des lettres sont en bas, en partant de A35
et en remontant. Ce qui laisse une zone vide entre les 2.
J'ai recommencé mais avant de faire le tri, j'ai fait le test
manuellement de supprimer (touche Suppr) la plage comprise entre le
dernier article et la fin des lignes de commandes, le tri fonctionne
parfaitement, tous les articles se suivent sans vide entre eux.

Dans la plage A18:H35, comment ajouter dans la macro un
Selection.ClearContents (ou autre) des lignes qui sont vides entre la
dernière ligne de commande et la fin des lignes de commandes (H35),
avant d'effectuer le tri ?

Merci,
NewsMic

"isabelle" a écrit dans le message de news:
%



bonjour NewsMic,

Range("A18:H35").Sort Key1:=Range("H18"), Order1:=xlAscending,
Header:=xlNo, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal
DataOption1 Indique comment trier le texte dans la clé 1.

XlSortDataOption peut être l'une de ces constantes XlSortDataOption.
xlSortTextAsNumbers. Traite le texte comme données numériques pour
le tri.
xlSortNormal par défaut. Trie les données numériques et textuelles
séparément.

isabelle

NewsMic a écrit :



Bonjour,

Sur une feuille de saisie de commande, les lignes factures sont de
A18 à H35
La colonne H est celle du montant ligne avec 2 décimales mais elle
peut aussi comporter du texte. Voici la formule :
=SI(F18<>"";SI(F18<>0;SI(G18>0;F18*G18*((1-D18));"Gratuit");SI(K18="Ep";"Epuisé";SI(J18<=0;"Différé-";"
")));"")

Un bouton macro permet de valider la commande. J'aimerais insérer
dans cette macro un tri "générique"sur la colonne H pour la plage
A18:H35, c'est à dire, du haut vers le bas :
D'abord tous les montants numériques sans tri sur leur valeur, puis
les valeurs texte triées par ordre alphabétique.
Est ce possible ? Un exemple de résultat souhaité serait :
Montant
10,00
7,00
14,00
Différé
Différé
Gratuit

Merci,
NewsMic




























Publicité
Poster une réponse
Anonyme