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

filtrage d'une Blacklist

H

Hugues

Guest
Bonjour à tous,


Mon Pb est le suivant :

j'ai sur une colonne A d'une page excel une liste de nom :

fifi
fafa
fufu
zozo
...

j'ai sur une colonne B de la même page une blacklist :

dada
didi
soso
zozo

Je voudrai expurger de ma liste en A tous les noms se trouvant blacklistés en B.

quelqu'un a-t-il une formule magique ?

Merci
Hugues
 
M

Monique

Guest
Bonjour,

Pour mettre en évidence les noms déjà saisis en colonne A et appartenant à ta BlackList :
tu sélectionnes la colonne A à partir de A1 puis
barre de menu - Format - Mise en forme conditionnelle
A gauche, tu choisis "La formule est" et tu tapes :
=OU(A1=BlackList)
Puis tu cliques sur "Format" et tu choisis police, bordure, motifs

Pour que Excel te prévienne si tu tapes un nom de la BlackList :
tu sélectionnes la colonne A puis
barre de menu - Données - Validation - Onglet "Options"
Dans la zone "Autoriser", tu choisis "Personnalisé"
Dans la zone "Formule", tu tapes :
=ET(A1<>BlackList) si tu as sélectionné à partir de A1
Tu choisis ton message par les onglets "Message de saisie", "Alerte d'erreur"

Pour donner un nom à ta liste, tu la sélectionnes puis :
barre de menu - Insertion - Nom - Définir
En haut, tu tapes le nom choisi,
en bas, tu as les références de la plage nommée, tu pourras les modifier si besoin.
Ou bien, plus rapide :
tu sélectionnes ta liste et tu tapes directement le nom dans la zone "Nom", à gauche de la barre de formule.

Si tu veux expurger ta colonne A des noms déjà saisis :
pour A1, à taper en C1 par exemple :
=1*(NB.SI(BlackList;A1)>0)
à copier coller vers le bas.
Ensuite, tu fais un tri par ordre croissant sur la colonne C
 
H

Hugues

Guest
Bonjour,

Un grand merci pour tes conseils qui semblent bien fonctionner sauf le troisième pour expurger la liste.
Il doit y avoir un step qui me manque parceque quand je cole la formule aucun élément de A n'est copié.

Est-ce que ce ne serai pas plus simple de trier par fond de couleur (puisque j'ai choisi de colorer mes blacklistés en fond de cellule rouge)

Si je les retrouve tous au début je peux les verifier et les éliminer en une seul sélection

Connais-tu un systeme pour les faire remonter en haut de colone sur ce critère (fond de cellule rouge)



Cordialement et merci encore,
Hugues
 
M

Monique

Guest
Re,

Pour filtrer selon un critère de couleur, il faudrait une macro, je pense.
Mais je n'y connais rien aux macros.

La formule =1*(NB.SI(BlackList;A1)>0) ne copie rien du tout,
elle renvoie 1 ou 0 :
1 si le mot est présent dans la BlackList,
0 sinon.
Et filtrer sur cette colonne, par ordre décroissant,
te met les 1 en haut de colonne,
donc les mots présents dans la BlackList.

Cette formule te renvoie les mots de la colonne A qui ne font pas partie de la BlackList :
=SI(NB.SI(BlackList;A1)>0;"";A1)
Puis tu fais : copier - collage spécial - valeurs et tu peux supprimer la colonne A
 
H

Hugues

Guest
Merci


J'ai compris après que c'était à partir d'un résulat 1 ou 0 que je pouvais trier la liste.

Néanmoins l'ensemble ne marche pas mal mais il est surprenant que les deux formules devant avoir le même résultat je me retrouve avec des oppositions, c'est à dire des cases colone A en rouge alors que le Flag1/0 est à 0.
Plus encore en modifiant l'ordre de tri selon A-B ou C mes couleurs de cellule (fonction de la presence ou non du champs dans la blacklist) change

Est-ce qu'une plage B1/B595 par exemple que je nomme "blacklist" change de propriétés, si elle se retrouve mélangée par un trie de la plage A1/a6897 ???
 
M

Monique

Guest
Re,

1er point - Tu pourrais traduire ce que tu as dit : "Flag1/0 est à 0" ?

2è point - En principe, la couleur de la cellule dépend de son contenu,
si tu tries, les cellules qui étaient rouges pour une raison de contenu
ne le sont plus si elles n'ont plus le contenu qui les rendait rouges.

3è point - Tu aurais intérêt à mettre ta "BlackList" en-dehors des colonnes à trier.
Tu peux la mettre dans une autre feuille (colonne entière, couper - puis insérer la colonne coupée)
Si le contenu de la cellule B500 arrive en B6000, ta plage nommée, elle, reste de B1 à B595
Et B6000 et son contenu ne font plus partie de la plage "BlackList"
 
B

Bernard

Guest
Bonsoir Monique, Hugues et tout le forum

Par VBA, le raisonnement est le suivant :
1- Passer en revue toutes les valeurs de la liste en colonne "A" et de déterminer combien de fois chacune d'entre elles est présente dans la liste en colonne "B". Si elle est présente une fois, on la supprime, si elle est présente 0 fois, on passe à la suivante.

2- Placer la procédure dans le module propre de la feuille. L'activation de la macro s'effectue automatiquement, chaque fois que la sélection d'une cellule change.

Exemple dans le fichier joint.

Cordialement

Bernard
 

Pièces jointes

  • Listenetteblacknom.zip
    6.3 KB · Affichages: 40
H

Hugues

Guest
Bonsoir

Merci à vous pour votre aide.

Monique dans "flag1/0" il me manquait un espace : "flag 1/0" CàD en français "l'indicateur 1 ou 0"

en fait sur une même page, j'arrive à des contradictions entre tes deux procédés et je ne comprend pas pourquopi

Néanmoins j'ai réussi à bien nettoyer ma liste, je me contenterai de ça pour aujourd'hui. ;-)

Encore merci

Hugues
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…