Macro Filtre Automatique Données multiples dans une cellule +Problème si cellule vide

jocky34000

XLDnaute Nouveau
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 à ce 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.
(Je me suis aidé de cette discussion : https://www.excel-downloads.com/threads/macro-filtre-automatique.48151/. J'ai essayé de comprendre comment cela fonctionnait et je l'ai adapté pour filtrer 2 colonnes.).

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 :


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


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.

Merci d'avance ! :):)
 

Pièces jointes

  • BDD filtres + macro non activée.jpg
    BDD filtres + macro non activée.jpg
    26.9 KB · Affichages: 80
  • BDD filtres + macro activée.jpg
    BDD filtres + macro activée.jpg
    21.6 KB · Affichages: 72
  • Regroupement tteurs_Forum.xlsm
    68.1 KB · Affichages: 104
Dernière édition:
Haut Bas