Probleme pour TRIER 2 COLONNES
Michel
-
commentcamarcheeay Messages postés 735 Statut Membre -
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,
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,
2 réponses
-
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. -
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".
-
-
- 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.
-