Filtre sur ListBox avec une combobox

la colonne A on peut l'ignorer car je l'ai crée comme référence

Heu non puisque vous récupérez cette valeur dans la combobox

Autres points :
- dans votre fichier posté le nom de la feuille Dossiers et fichiers existants comporte un espace après le S de existants. Veillez à le supprimer
- pourquoi ne pas mettre votre feuille Dossiers et fichiers existants au format tableau structuré.

Ah oui c'est vrai, la colonne A c'est le contenu de ma combobox, on peut ignorer les lignes vides.

Je peux pas mettre la feuille au format tableau car le fichier est partagé, et le tableau bloque le partage des classeurs,

Sinon, j'ai une autre question Dan, j'ai des formules sur un fichier comme recherchev, mais le résultat de la formule ne s'affiche pas, il faut que j'enregistre le fichier pour que mes formules fassent leurs caculs, y a t-il un problème sur mon classeur,

sachant que j'ai rompu tous les liens externes

Ah oui c'est vrai, la colonne A c'est le contenu de ma combobox, on peut ignorer les lignes vides.

Non, là vous devez absolument mettre quelque chose car vous avez un document en colonne C. Si ce document est dans le même dossier, il faut doubler l'info.
exemple : si en C9 le fichier fait partie du dossier en B8, il faut mettre 001 en A9

Je peux pas mettre la feuille au format tableau car le fichier est partagé, et le tableau bloque le partage des classeurs,

Ok. c'est noté

Sinon, j'ai une autre question Dan, j'ai des formules sur un fichier comme recherchev, mais le résultat de la formule ne s'affiche pas, il faut que j'enregistre le fichier pour que mes formules fassent leurs caculs, y a t-il un problème sur mon classeur,

Non du tout. Mais allez vérifier dans Fichier -> option -> Formules si le mode de calcul est bien sur automatique. Dans votre fichier posté il est sur manuel

J'ai une autre question :
Votre répertoire est mentionné en cellule B2. Est-ce que chaque fichier en colonne C est placé dans le dossier que vous mettez en colonne B ?
Si oui, pourquoi ne pas ajouter ce dossier dans votre listview ?

Oui Dn, tous les fichier se trouvent dans le même répertoire
C'est un répértoire avec des sous dossiers (colonne B)
image

Pour ma question de calcul des formules,

même si je le mets en automatique, il se remets tout seul en manuel

Comment je peux le figer en automatique ?

Oui Dn, tous les fichier se trouvent dans le même répertoire
C'est un répértoire avec des sous dossiers (colonne B)

Donc il faut que cette colonne B soit aussi complétée sur chaque ligne afin d'atteindre le fichier correct en colonne C. Sauf si vous voulez simplement accéder au répertoire complet L et choisir ensuite mais cela me semble moins pratique.

Pour ma question de calcul des formules, même si je le mets en automatique, il se remets tout seul en manuel
Comment je peux le figer en automatique ?

Non cela ne se met jamais tout seul en manuel. C'est que vous avez une action via un code.
Essayez en mettant l'option en automatique puis enregistrez votre fichier. Ensuite si vous le fermez et le ré-ouvrez, il ne devrait pas y avoir de soucis

Pourquoi j'ai des lignes vides en colonne B ? parce que en colonne C il y a des lignes (fichiers) qui sont dans le même dossier en colonne B.

sinon, pour le calcul automatique, j'ai réussi ç résoudre le soucis , j'avais une ligne de code qui l'a désactivait

Bonjour,

Pourquoi j'ai des lignes vides en colonne B ? parce que en colonne C il y a des lignes (fichiers) qui sont dans le même dossier en colonne B.

Cela vous allez devoir l'éviter. Dans votre feuille que ce soit en colonne A ou en colonne B vous devez toujours avoir une info. Donc pas de cellule vide en regard de la colonne C. Chaque cellule en A et B doit être complétée.
Dans le fichier lorsque vous ouvrez l'usf, selon le choix de la combo cela va vous afficher les infos de la colonne C (fichier) et la colonne B (dossier) que j'ai rajouté.

Selon le choix dans votre listview, le click sur le bouton Afficher vous ouvrira le fichier choisi dans le répertoire L que vous m'avez donné

Faites un test en choisissant une valeur de 1 à 9 dans la combo. (j'ai complété les infos manquantes en colonne A et B jusque la ligne 10)

Dites si cela convient.

34listing-3.xlsm (192.51 Ko)

Bonjour DAN,

avec vos suggestions, ça fonctionne très bien.

je vous remerci vraiment pour votre aide.

passez un ecellent après-midi

merciiii

Bonjour DAN,

Un petit problème !

en faite les fichier se trouvent dans les sous dossiers (colonne B) qui se retrouvent dans le répertoire sité en haut.

c'est possible d'ajuter ça ?

Merciiii

Bonjour

en faite les fichier se trouvent dans les sous dossiers (colonne B) qui se retrouvent dans le répertoire sité en haut.

Ah oui, désolé... pas besoin d'ajouter c'est juste une erreur de ma part.
Allez dans la macro Private Sub CommandButton1_Click() et corrigez cette ligne

Workbooks.Open Filename:=chemin & dossier & "\" & fichier

Rem : attention aux espaces et à la ponctuation dans les noms de vos dossiers. Evitez aussi les accents qui peuvent être source d'erreur

Cordialement

ça fonctionne parfaitement,

Merci bcp.

Have a nice day

Bonjour DAN,

J'espère que vous allez bien,

je viens de remarquer un petit blocage, c'est que la macro n'ouvre que les fichier xls et pas les fichier doc.

Comment je peux ajutser cela !

Merci d'avance.

Imad.

Bonjour,

Il faudrait savoir quelles sont les extensions possibles de vos fichiers car si vous avez des .doc et .docx, le souci va se présenter à chaque fois

Il faut surtout que chaque noms de fichier soient mentionnés avec son extension dans la colonne C et ce, avec un seul point. Donc .doc, .xls, etc...
Le point doit uniquement servir pour l'extension du nom de fichier et pas comme je le vois en ligne 22 par exemple

Dans l'userform, vous pouvez remplacer le code par ceci

Private Sub CommandButton1_Click() 'ouverture fichier
Dim fichier As String, chemin As String, dossier As String, extension as string

chemin = "L:\Services Techniques\Maintenance\Documents interventions\Preventif\"
fichier = Me.ListView1.SelectedItem.Text
extension = Mid(fichier, InStrRev(fichier, "."))
dossier = Me.ListView1.SelectedItem.ListSubItems(1).Text
Workbooks.Open Filename:=chemin & dossier & "\" & fichier & extension
End Sub

Cordialement

salut dan,

il y a une erreur ici :

Workbooks.Open Filename:=chemin & dossier & "\" & fichier & extension

re

Juste ! essayez plutôt comme ceci

Private Sub CommandButton1_Click() 'ouverture fichier
Dim fichier As String, chemin As String, dossier As String, extension

chemin = "L:\Services Techniques\Maintenance\Documents interventions\Preventif\"
With Me.ListView1.SelectedItem
    extension = Mid(.Text, InStrRev(.Text, "."))
    fichier = Split(.Text, ".")(0)
    dossier = .ListSubItems(1).Text
End With
Workbooks.Open Filename:=chemin & dossier & "\" & fichier & extension
End Sub

Cordialement

Même soucis Dan

Workbook.open n'ouvrira que des fichiers excel.

Je vois que c'est un fichier word, là cela va être différent

essayez ceci

Private Sub CommandButton1_Click() 'ouverture fichier
Dim fichier As String, chemin As String, dossier As String, extension

chemin = "L:\Services Techniques\Maintenance\Documents interventions\Preventif\"
With Me.ListView1.SelectedItem
    extension = Mid(.Text, InStrRev(.Text, "."))
    fichier = Split(.Text, ".")(0)
    dossier = .ListSubItems(1).Text
End With
If extension = ".doc" Then
Set objetword = CreateObject("Word.Application")
    objetword.Visible = True
    objetword.Documents.Open chemin & fichier & extension
Else:
Workbooks.Open Filename:=chemin & dossier & "\" & fichier & extension
End If
End Sub

Attention que vos extensions de fichier doivent être en minuscules.

Crdlt

bonjour Dan,

une erreur est apparue ici

Set objetword = CreateObject("Word.Application")

Objet non défini

Bonjour

... c'est votre bon fichier que vous avez posté ici ? Je n'ai pas de souci avec votre fichier posté

Vérifiez tout de même dans l'éditeur VBA --> Menu Outils --> Références si vous avez bien la référence Microsoft Office 16 library cochée ?

Rechercher des sujets similaires à "filtre listbox combobox"