Probleme pour TRIER 2 COLONNES

Michel -  
commentcamarcheeay Messages postés 735 Statut Membre -
Bonjour,

J'ai besoin d'aide, j'ai 2 colonnes dans mon fichier excel.
La colonne 1 contient 1000 adresses mails / la colonne 2 contient 200 adresses mails qui sont deja dans la colonne 1.
Le pb c'est que je souhaite les supprimer dans la colonne 1.

Je cherche une formule qui dirait:
SI email présent dans colonne1 et présent dans colonne 2 alors effacer dans colonne 1

Existe-il une formule?

Merci d'avance,
A voir également:

2 réponses

emonyna
 
A ma connaissance, ce genre de commande n'existe pas. (Ou alors on m'a fait faire beaucoup de travail pour rien au bureau....)
Je pense donc malheureusement qu'il va falloir trier tes adresses à la mains. Si elles sont par ordre alphabétique, ça devrait aller vite^^ Bonne chance.
0
commentcamarcheeay Messages postés 735 Statut Membre 86
 
A la main?!! :-))
Microsoft a bien eu l'intelligence de mettre au point ce qu'on appelle les macros. Il n' faut pas hésiter à s'en servir. Je suis entrain de tester un exemple.
0
Michel
 
Je crois qu'il existe des formules via les macros mais je ne maitrise pas
0
commentcamarcheeay Messages postés 735 Statut Membre 86
 
Bonjour,
Ta question m'a fait plonger dans les anciens bouquins d'Excel. J'avoue que ce n'est pas si évident!
Je suis sorti finalement avec le code suivant qui filtre la colonne A:A en fonction de ce qui se trouve dans la colonne B:B

Sub filterAdresses(myList As Range, myToDel As Range)
Set myList = ThisWorkbook.Worksheets("Feuil1").Range(myList.Address)
Set myToDel = ThisWorkbook.Worksheets("Feuil1").Range(myToDel.Address)
Debug.Print myList.Address
Debug.Print myToDel.Address
Dim celli As Range
Dim cellj As Range
For Each celli In myToDel.Cells
For Each cellj In myList.Cells
If celli = cellj Then
cellj.Delete Shift:=xlUp
End If
Next
Next
End Sub

Sub main()
Dim myWorkSheet As Worksheet
Set myWorkSheet = ThisWorkbook.Worksheets("Feuil1")
filterAdresses myWorkSheet.UsedRange.Columns(1), myWorkSheet.UsedRange.Columns(2)
End Sub


Ça a bien fonctionné pour moi. Il faut exécuter la macro "main".

0
Michel
 
Bonjour,

Merci pour votre réponse, mais comment fait on pour exécuter cette action
Créer nouvelle macro puis...

Je ne comprend pas

Merci d'avance
0
commentcamarcheeay Messages postés 735 Statut Membre 86
 
- Après avoir mis la liste totale dans la colonne A et les adresses à chercher dans la colonne B. (Attention, garde des copies de ton fichier s'il est important)
- Alt + F11 pour ouvrir la page du développement VBA.
- Dans le volet "Projet-VBAProject" en haut à gauche > clic droit > Insertion > Module
- Une nouvelle icône qui s'appelle Module1 va être créée. Double clic sur cette icône.
- Dans la page qui vient de s'ouvrir, colle le code que j'ai mis précédemment.
- F5 pour exécuter le code. Si tu reviens à ta fenêtre tu vas voir que le travail est fait.
0