Probleme pour TRIER 2 COLONNES
Fermé
Michel
-
20 mai 2010 à 16:00
commentcamarcheeay Messages postés 667 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 30 mars 2020 - 21 mai 2010 à 09:06
commentcamarcheeay Messages postés 667 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 30 mars 2020 - 21 mai 2010 à 09:06
A voir également:
- Probleme pour TRIER 2 COLONNES
- Trier colonne excel - Guide
- Word 2 colonnes - Guide
- Application gratuite pour trier les photos - Guide
- Fusionner 2 colonnes excel - Guide
- 2 ecran pc - Guide
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.
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.
commentcamarcheeay
Messages postés
667
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
30 mars 2020
86
20 mai 2010 à 21:50
20 mai 2010 à 21:50
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".
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".
commentcamarcheeay
Messages postés
667
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
30 mars 2020
86
21 mai 2010 à 09:06
21 mai 2010 à 09:06
- 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.
- 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.
20 mai 2010 à 17:06
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.
20 mai 2010 à 18:38