Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste de valeurs uniques de la colonne

3 réponses
Avatar
Gloops
Bonjour tout le monde,

Dans une feuille Excel, on peut demander, dans le menu Donn=E9es, un=20
filtre automatique, ce qui permet d'avoir dans une liste d=E9roulante pou=
r=20
chaque colonne la liste des valeurs figurant dans cette colonne, =E0=20
raison d'une fois chacune. Pratique.

Maintenant, si je veux copier la liste de ces valeurs uniques dans une=20
autre feuille, je me demande quelle est la meilleure mani=E8re.

On peut =E9crire une proc=E9dure VBA, si on a le temps.

Ce matin je suis pass=E9 par Ms-Query, et j'ai tap=E9 une requ=EAte SQL d=
e=20
type SELECT DISTINCT. Impeccable comme r=E9sultat, =E0 condition de nomme=
r=20
le champ, de sauvegarder le fichier, de charger l'outil, de pr=E9ciser le=
=20
champ, et de taper la requ=EAte.

Je ne suis pas tr=E8s s=FBr, mais il me semble qu'il y a quelques ann=E9e=
s=20
j'ai utilis=E9 un moyen plus =E9l=E9gant.

Qui dit mieux ?

3 réponses

Avatar
Jacky
Bonsoir,

Qui dit mieux ?
L'enregistreur de macro....
'------------
Sub Macro1()
Sheets("Feuil2").Select
Sheets("Feuil1").Range("A1:A100").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("A1"), Unique:=True
End Sub
'--------------
Copie de feuille1 a1:a100 une liste sans doublon vers la feuille 2 cellule
A1
--
Salutations
JJ


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

Bonjour tout le monde,

Dans une feuille Excel, on peut demander, dans le menu Données, un
filtre automatique, ce qui permet d'avoir dans une liste déroulante pour
chaque colonne la liste des valeurs figurant dans cette colonne, à
raison d'une fois chacune. Pratique.

Maintenant, si je veux copier la liste de ces valeurs uniques dans une
autre feuille, je me demande quelle est la meilleure manière.

On peut écrire une procédure VBA, si on a le temps.

Ce matin je suis passé par Ms-Query, et j'ai tapé une requête SQL de
type SELECT DISTINCT. Impeccable comme résultat, à condition de nommer
le champ, de sauvegarder le fichier, de charger l'outil, de préciser le
champ, et de taper la requête.

Je ne suis pas très sûr, mais il me semble qu'il y a quelques années
j'ai utilisé un moyen plus élégant.

Qui dit mieux ?
Avatar
Gloops
Ah, intéressant, merci.

Je regarde ça demain.
____________________________________
Jacky a écrit, le 05/12/2007 23:15 :
Bonsoir,

Qui dit mieux ?
L'enregistreur de macro....
'------------
Sub Macro1()
Sheets("Feuil2").Select
Sheets("Feuil1").Range("A1:A100").AdvancedFilter Action:=xlFilter Copy, _
CopyToRange:=Range("A1"), Unique:=True
End Sub
'--------------
Copie de feuille1 a1:a100 une liste sans doublon vers la feuille 2 cell ule
A1


Avatar
Gloops
[Utilisation de la méthode AdvancedFilter de l'objet Range]

Bonsoir,

Voilà qui mérite probablement encore un peu de temps, je regarderai
Lundi. Cet après-midi j'ai appliqué ça sans problème sur une peti te
feuille, mais ce matin, sur une feuille plus lourde, j'obtenais une
copie pure et simple de la source, avec les quinze exemplaires de la
première valeur, les douze de la deuxième ... Le tout en ayant bien
prêté attention à l'argument Unique:=True

Maintenant que j'ai un peu de recul, je réalise qu'il faudra que
j'essaie sans mise en forme. Dans le fond, je considérais comme évide nt
que je cherchais des occurrences uniques d'une valeur, mais après tout,
peut-être bien que "Dupont" écrit en noir, graisse normale, et "Dupon t"
écrit en bleu et en gras, ça fait deux valeurs ?

L'essai que j'ai fait cet après-midi ne comportait pas de mise en forme .

A propos, si on parle d'enregistreur de macro, c'est pour faire quelque
chose qu'on peut faire avec l'interface utilisateur ? Dans ce cas, commen t ?


(Je me suis aussi bagarré avec des erreurs 1004, mais parce que j'ai
oublié de mettre la feuille en préfixe du champ ; ah oui et il faut
veiller à ce que le champ cible soit vide, aussi -surtout la deuxième fois.)
_____________________________________
Jacky a écrit, le 05/12/2007 23:15 :
Bonsoir,

Qui dit mieux ?
L'enregistreur de macro....
'------------
Sub Macro1()
Sheets("Feuil2").Select
Sheets("Feuil1").Range("A1:A100").AdvancedFilter Action:=xlFilter Copy, _
CopyToRange:=Range("A1"), Unique:=True
End Sub
'--------------
Copie de feuille1 a1:a100 une liste sans doublon vers la feuille 2 cell ule
A1