Bonjour à toutes et tous,
Je vous écris car j'ai créé une base de données sur Excel pour une entreprise de transport routier de marchandises dans laquelle je suis apprenti et, mes collègues étant assez "hermétiques" à l'utilisation d'excel il faut que je leur facilite le plus possible le travail.
Cette base de données nous sert à trouver des transporteurs selon le département de départ et le ou les département(s) d'arrivée de la marchandise et est composée de 18 colonnes (cf. les captures d'écran ci-jointes).
Jusqu'à présent mon classeur ne contenait pas de macro et pour trier les données il fallait utiliser les filtres manuellement, facile me direz-vous, mais assez long pour une recherche multicritères (dérouler le filtre, dé sélectionner tout, cocher les valeurs voulues, et ce, pour chaque colonne).
Hier un ami m'a brièvement (= en 10 minutes) expliqué comment affecter une macro à un bouton de commande ; ce qui m'a permis, grâce à un forum, de commencer une macro afin qu'au lieu d'avoir à cocher les valeurs dans le filtre, il suffise d'inscrire les valeurs dans une cellule pour faire un filtre automatique de cette valeur.
Mais maintenant, afin d'optimiser ma base, j'aimerais que cette macro fonctionne pour les colonnes A, B, C, D, J, K, L, M, N, O, P et Q sans pour autant à avoir l'obligation de remplir toute ces cellules et c'est là que ça coince !!!
D'une part il faudrait que là ou il y ait une cellule vide lors du lancement de la macro, cela signifie : "sélectionner toutes les valeurs de la colonne". D'autre part, je ne sais pas si c'est possible, mais il serait sympa que pour les colonnes Départ et Arrivée soit A et B, il soit possible d'entrer plusieurs critères dans la même cellule séparés par une virgule par exemple.
Voilà, j'ai essayé de formuler le plus clairement possible ma question, maintenant la question est : avez-vous un avis ou des réponses à ce sujet ?
Infos complémentaires :
J'utilise excel 2007, le fichier devra fonctionner en partage multi-utilisateurs sur un serveur, je maîtrise excel mais très peu VBA.
La macro actuelle est la suivante :
Vous trouverez ci-joint 2 captures d'écran de la base de données. La première montrant une partie de la base sans aucun filtre sélectionné et la seconde montrant un exemple de filtrage. Ainsi qu'une partie tronquée de mon tableur Excel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub GO_Filtre_Voyage() ' ' GO_Filtre_Voyage Macro ' ' Dim DepartFiltre As String DepartFiltre = Worksheets("FRANCE").Range("C1").Value Range("A2").Select Selection.AutoFilter Field:=1, Criteria1:=DepartFiltre Dim ArriveeFiltre As String ArriveeFiltre = Worksheets("FRANCE").Range("E1").Value Range("B2").Select Selection.AutoFilter Field:=2, Criteria1:=ArriveeFiltre End Sub
Merci d'avance !
Partager