VBA Copie de fichiers sur un réseau

Le
Domi
Bonjour à tous,
Dans un classeur Excel, j'ai dans la colonne B, une liste de chemins d'accès
pointant vers divers fichiers (.xls, .doc etc)
Exemple :
En B2 : \SRV1Produitsetat.xls
En B3 : \SRV2Dépensesbudget2009.xls
En B4 : \SRV1Ventesjanvier.doc
etc.

J'ai en A1 un chemin d'accès de destination
Exemple : \SRV3SAVE

Dans la colonne C, en face de chaque chemin d'accès, je voudrais pouvoir
"cocher" (par la saisie d'une valeur quelconque) les documents que je
souhaite copier vers le dossier de destination (en A1)
Je souhaiterais faire cela via VBA, quelqu'un aurait-il une solution à me
proposer ?
Merci
Domi
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19910831
Bonjour Domi,

Je n'ai pas saisi le sens de ta question...

Quels sont les critères qui te permettent de choisir les
fichiers que tu veux copiés vers le répertoire en A1 et
dont tu désires indiquer ton intention en colonne C ?



"Domi"
Bonjour à tous,
Dans un classeur Excel, j'ai dans la colonne B, une liste de chemins d'accès
pointant vers divers fichiers (.xls, .doc... etc)
Exemple :
En B2 : \SRV1Produitsetat.xls
En B3 : \SRV2Dépensesbudget2009.xls
En B4 : \SRV1Ventesjanvier.doc
etc....

J'ai en A1 un chemin d'accès de destination
Exemple : \SRV3SAVE

Dans la colonne C, en face de chaque chemin d'accès, je voudrais pouvoir
"cocher" (par la saisie d'une valeur quelconque...) les documents que je
souhaite copier vers le dossier de destination (en A1)
Je souhaiterais faire cela via VBA, quelqu'un aurait-il une solution à me
proposer ?
Merci
Domi
Domi
Le #19912381
Bonjour,
Je veux copier uniquement les fichiers (dont la 'adresse figure dans la
colonne B) et dont la colonne C contient une valeur
Si C2 vide, je ne copie pas en A1 le fichier dont l'adresse figure en B2
Si C3 contient une valeur, je copie en A1 le fichier dont l'adresse figure
en B3
Je balaye toute la plage de la colonne B qui contient des adresses
(valeurs), je regarde si la colonne C contient une valeur, pour les lignes
dont c'est le cas je copie tous les fichiers vers l'adresse qui figure en
A1.
Désolé pour mon manque de clarté....
Je m'absente quelques jours, je ne pourrai donc pas repondre a vos
eventuelles aides dans l'immédiat
Merci et à bientôt j'espère.
Domi


"MichDenis" OWpj$
Bonjour Domi,

Je n'ai pas saisi le sens de ta question...

Quels sont les critères qui te permettent de choisir les
fichiers que tu veux copiés vers le répertoire en A1 et
dont tu désires indiquer ton intention en colonne C ?



"Domi"
Bonjour à tous,
Dans un classeur Excel, j'ai dans la colonne B, une liste de chemins
d'accès
pointant vers divers fichiers (.xls, .doc... etc)
Exemple :
En B2 : \SRV1Produitsetat.xls
En B3 : \SRV2Dépensesbudget2009.xls
En B4 : \SRV1Ventesjanvier.doc
etc....

J'ai en A1 un chemin d'accès de destination
Exemple : \SRV3SAVE

Dans la colonne C, en face de chaque chemin d'accès, je voudrais pouvoir
"cocher" (par la saisie d'une valeur quelconque...) les documents que je
souhaite copier vers le dossier de destination (en A1)
Je souhaiterais faire cela via VBA, quelqu'un aurait-il une solution à me
proposer ?
Merci
Domi



MichDenis
Le #19915671
Tu copies ce qui suit dans un module standard :
Tu renseignes dans la procédure, le nom de la feuille
où sont les données.

P.S- La procédure ne t'alerte pas si tu copies un nom de fichier
déjà existant dans le répertoire de destination. Elle l'écrase.

'------------------------------------------
Sub test()

Dim Sh As Worksheet
Dim Rg As Range

'à déterminer le nom de la feuille
Set Sh = Worksheets("Feuil1")
With Sh
Set Rg = .Range("B1:B" & .Range("A65536").End(xlUp).Row)
chemin = .Range("A1")
End With
'vérifier que le chemin -répertoire de destination existe.
If Dir(chemin, vbDirectory) <> "" Then
'Pour chacune des cellules dans la colonne B:B
For Each c In Rg
'Si une valeur existe en colonne C
'Vérifier le que fichier existe
If Rg.Offset(, 1) <> 0 Then
If Dir(c.Value) <> "" Then
'Extraire le nom du fichier
Fichier = Split(c.Value, "")(UBound(Split(c.Value, "")))
'copie du fichier
FileCopy c.Value, chemin & Fichier
Else
MsgBox "Incapable de trouver ce ficher : " & c.Value
End If
End If
Next
Else
MsgBox "Ce répertoire n'existe pas : " & chemin
End If
End Sub
'------------------------------------------



"Domi"
Bonjour,
Je veux copier uniquement les fichiers (dont la 'adresse figure dans la
colonne B) et dont la colonne C contient une valeur
Si C2 vide, je ne copie pas en A1 le fichier dont l'adresse figure en B2
Si C3 contient une valeur, je copie en A1 le fichier dont l'adresse figure
en B3
Je balaye toute la plage de la colonne B qui contient des adresses
(valeurs), je regarde si la colonne C contient une valeur, pour les lignes
dont c'est le cas je copie tous les fichiers vers l'adresse qui figure en
A1.
Désolé pour mon manque de clarté....
Je m'absente quelques jours, je ne pourrai donc pas repondre a vos
eventuelles aides dans l'immédiat
Merci et à bientôt j'espère.
Domi


"MichDenis" OWpj$
Bonjour Domi,

Je n'ai pas saisi le sens de ta question...

Quels sont les critères qui te permettent de choisir les
fichiers que tu veux copiés vers le répertoire en A1 et
dont tu désires indiquer ton intention en colonne C ?



"Domi"
Bonjour à tous,
Dans un classeur Excel, j'ai dans la colonne B, une liste de chemins
d'accès
pointant vers divers fichiers (.xls, .doc... etc)
Exemple :
En B2 : \SRV1Produitsetat.xls
En B3 : \SRV2Dépensesbudget2009.xls
En B4 : \SRV1Ventesjanvier.doc
etc....

J'ai en A1 un chemin d'accès de destination
Exemple : \SRV3SAVE

Dans la colonne C, en face de chaque chemin d'accès, je voudrais pouvoir
"cocher" (par la saisie d'une valeur quelconque...) les documents que je
souhaite copier vers le dossier de destination (en A1)
Je souhaiterais faire cela via VBA, quelqu'un aurait-il une solution à me
proposer ?
Merci
Domi



MichDenis
Le #19915721
Dans la procédure, remplace ceci :
If Rg.Offset(, 1) <> 0 Then

Par
If Rg.Offset(, 1) <> "" Then
Publicité
Poster une réponse
Anonyme