Autres [xl 2007] VBA List box d'un repertoire d'un lecteur et copie de celui ci vers un autre lecteur

  • Initiateur de la discussion Initiateur de la discussion kif
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kif

XLDnaute Occasionnel
Bonjour la Team,

J'ai besoin s.v.p de votre aide, voici le contexte :

J'ai un vieux PC préhistorique avec un XL 2007 (d'ou le préfixe dans le titre 😉) je souhaiterais s.v.p si possible faire par l'intermedaire de Excel des recherches de répertoire sur un lecteur (Ex F:/) et si existant la copie de celui ci vers un autre lecteur (ex : Z:/)

idéalement :

j'ai un listbox qui apparaitrait ou je peux lister via un ascenseur le contenu du lecteur 1 ou via un Textbox taper le nom ou N° du répertoire recherché
Si il existe je peux le sélectionner et declencher sa copie vers une destination d'un autre lecteur 2 via un bouton par ex
sinon ba il existe pas

Merci d'avance de votre aide

Franck
 
Bonjour, à tous
Je ne sais pas si c'est possible sur le "PC Préhistorique", utiliser 2 fenêtres du gestionnaire de fichiers.
Dans la barre des tâches, clic droit sur l'icone du gestionnaire, puis choisir dans la liste le répertoire où commencer.
Refaire l'opération pour obtenir une 2ème fenêtre.

Ca évite un développement VBA !
A essayer

Claude alias Pounet95
 
bonjour
a tu déjà esquissé un formulaire
si oui donne un exemple de fichier
Bonjour & Merci de vos réponses

ci joint un USR à améliorer mais ça donne déjà une idée

NOTE les lecteurs sont normalement figés (F:/ & L:/) ou à declarer juste la première fois
 

Pièces jointes

  • Usr LDI.xls
    Usr LDI.xls
    33 KB · Affichages: 13
  • usr.jpg
    usr.jpg
    337.5 KB · Affichages: 15
re
ok
à ameliorer la bonne blague il n'y a rien aucun code dans ce fichier LOL

BON !!
une ébauche toute simple
utilisation de la fonction dir
utilisation de name as
c'est assez simple

tu coche dans la liste de gauche et tu clique sur le bouton transfert
pour remplir les liste c'est leur bouton respectif en dessous chacune d'entre elles
 

Pièces jointes

Dernière édition:
Bonsoir Patrick
rapidité efficacité

Merci beaucoup c'est super sympa de ta part 😉

Est ce que je peux te demander 3 fonctions de plus s.v;p et une correction

Correction :Faire une copie du repertoire ou du fichier coché car la ca fait un deplacement

1 Avoir une recherche et un raz pour pouvoir lister la listbox a gauche

2 Sur la liste de gauche OK ca fonctionne j'arrive à transférer quand cocher (bien vu les cases c'est parfait!) un répertoire complet, cependant il faudrait aussi que je puisse lister ce répertoire pour allez cocher un ou plusieurs fichiers présent dedans à transférer

3 Sur la liste de droite il faudrait un bouton "supprimer" pour pouvoir supprimer un répertoire transféré ou un ou des fichiers de ce mème répertoire comme la fonction du listbox de gauche (les cases a cocher)

Merci d'avance de ton aide

Franck
 
Dernière édition:
re
allez change l'event transfert
VB:
'bouton transfert
Private Sub CommandButton2_Click()
    Dim L1 As Object, L2 As Object, i&, n1$, n2$, oFso
    Set L1 = ListBox1
    Set L2 = ListBox2
    For i = L1.ListCount - 1 To 0 Step -1
        If L1.Selected(i) Then
            L2.AddItem L1.List(i, 0), 0: L2.List(0, 1) = L1.List(i, 1)
            n1 = Label1.Caption & L1.List(i, 1)
            n2 = Label2.Caption & L1.List(i, 1)

            If GetAttr(n1) = 16 Then
                Set oFso = CreateObject("Scripting.FileSystemObject")
                oFso.CopyFolder n1, n2, True
            Else
                FileCopy n1, n2
                'L1.RemoveItem (i)
            End If
        End If
    Next
End Sub
 
Trop fort Patrick

exactement ça 😎 , c'est presque bon

1- je ne peux pas lister un répertoire (repere D) sur les listbox quand je clique dessus pour aller dedans

2- Juste avoir un bouton "RAZ" ou un refresh car quand tu fais une recherche sur une valeur non trouvée il reste à la racine en affichage méme si j'efface la valeur de recherche ou si je mets * et ne réactualise pas le treeview du listbox

3- sur le liste box de droite (destination) si je pouvais avoir un bouton "supprimer" les répertoires ou les fichiers serait parfait (avec le listage des répertoire comme le point 1)

Merci d'avance de ton support

Franck
 
Bonjour Patrick

Whaoo nickel

Manque juste la possibilité de lister dans le répertoire ( en fait ce sont des répertoires que je veux copier soit en totalité, soit quelques fichiers dans un de ces répertoires) actuellement je liste bien ces répertoires, je peux les copier, mais je ne peux pas rentre dedans pour sélectionner des fichiers....

il y a toujours un prob de refresh aléatoire quand tu fais une recherche parfois il ne reaffiche pas l'ensemble des fichiers ? peux étre rajouter un bouton clear ou refresh

Merci d'avance

franck
 
bon on va pas y passer 3 jours hein!!!
tu veux quoi avec les bouton de choix répertoire
parce que tes demandes sont ambiguës
  1. lister une source complément dossier et fichier enfant direct (ce qui est déjà le cas)
  2. lister uniquement les dossier enfant direct de la source
  3. lister dossier et sous dossier de la source
  4. lister dossier et sous dossier et fichiers (arborescence complète )
  5. modif liste en fonction du dossier choisi dans la liste(même principe que l'explorer)
faudrait arrêter de développer au fur et a mesure que les idée viennent
j'ai pas que ça a faire

pose ta souris,réfléchi a ton projet dans son ensemble détaille le par point intelligiblement et présente un cahier des charges digne de ce nom
là si je te laisse faire on aura jamais fini 😉
 
Re patrick

Ba c'est ma demande du début, je dev pas au fur et à mesure ?

Les boutons chois repertoire c'est OK
cest aprés une fois charger que je puisse naviguer dans les repertoires
donc Lister dossier et sous dossier et fichiers arbo complet mais ceci avec ta souris une fois que tu as charger la listbox que je puisse rentrer dans un repertoire pour selectiooner des fichiers (comme si tu etait sur un explorateur window)

et rajouter s.VP un bouton "clear" ou "refresh" a coté du champ recherche pour actualiser la listview

voila

Je te remercie d'avance

Franck
 
Dernière édition:
bon ben comme quoi tu n'a pas compris comment fonctionne l'explorer
l'explorer te donne la liste des dossier et fichier enfant direct et non l'arborescence complete
ce n'est que l'ors de la sélection d'un item qui re liste les enfant directs(dossier et fichiers)de cet item dans la même fenêtre
et ainsi de suite
j'explore le disque L:\
j'ai 2 dossiers
dossier1 et dossier2
je clique sur dossier2 la liste se clear et me liste le contenu enfant direct de dossier2 (ses sous dossiers et ses fichiers ENFANTS DIRECT !!!)mais je n'ai plus dossier1 sur la liste

voila comment fonctionne explorer 😉
on pourrais lister tout dans la même liste mais ça serait t'induire en erreur
car tu pourrait très bien essayer de copier un dossier et son propre dossier parent ce qui impliquerait des doublons
par exemple tu pourrais tres bien copier le fichiers"toto.txt" du dossier "tata" et copier aussi le dossier "titi" dans le quel se trouve le dossier "tata" ou se trouve justement le fichier"toto.txt"

0+0=la tète a toto LOL 😉😛

Si tu veux une listbox dynamique comme explorer je t'en fait une tu adaptera
mais rend le textbox de recherche tel qu'il est obsolète bien entendu
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour