Déplacer un fichier en vba

Fermé
vba - 19 oct. 2007 à 19:25
 vba - 6 nov. 2007 à 19:50
Bonjour,


j'ai un problème . je n'arrive pas à copier des fichiers d'un endroit vers un autre . quelle commande en vba pour word je dois utiliser ? ah j'ai oublié ! j'utilise word 2003 d'avance merci

8 réponses

Utilisateur anonyme
22 oct. 2007 à 02:55
Bonjour,

Set objFSO = CreateObject("Scripting.FileSystemObject")

Cette instruction est native du VBS, et supporté par tous
les environnements VBA et VB que j'ai utilisé. Scripting
est l'appellation qui remplace à mon avis les fichiers batch
ou les fichiers cmd. Sous Windoos, l'utilisation du VBS est
très efficace pour automatisé certaines tâches quand les outils
sont natifs du systême d'exploitation.

Donc le FileSystemObject est comme sont nom l'indique,
un objet Fichier du systême. Cette objet nous permmettra
l'utilisation de certaines méthodes et propriétés pour
manipuler des objets du systême de fichiers.

Voici quelques méthodes :

Si
Source = "C:\MonFichierSrc.txt"
et
Destination = "C:\MonFichierDes.txt"

Methode Copie
objOFS.CopyFile Source, Destination

Méthode Déplacement
objOFS.MoveFile Source, Destination

Méthode Existe
objOFS.FileExists(Source) -> Renvoi Vrai ou Faux

Si
Dossier = "C:\Temp\Affaires\Numéro\"


Méthode Prendre Répertoire
Set objDossier = objFSO.GetFolder(Dossier)

For Each Fichier In objDossier.Count
' Code ...
Next

Ce n'est certe pas la définition du dictionnaire,
mais disons simplifié dans mes mots.

Lupin
5
Utilisateur anonyme
19 oct. 2007 à 20:23
Bonjour,

exemple :

Sub CopieFichier()

    Const Source = "C:\Temp\MonFichier.txt"
    Const Destin = "C:\Monfichier.txt"
  
    Dim objOFS As Variant
    
    Set objOFS = CreateObject("Scripting.FileSystemObject")
    
    If (objOFS.FileExists(Source)) Then
        objOFS.CopyFile Source, Destin
        Kill Source
    End If
    
    Set objOFS = Nothing

End Sub
'

ou
Sub DeplaceFichier()

    Const Source = "C:\Temp\MonFichier.txt"
    Const Destin = "C:\Monfichier.txt"
  
    Dim objOFS As Variant
    
    Set objOFS = CreateObject("Scripting.FileSystemObject")
    
    If (objOFS.FileExists(Source)) Then
        objOFS.moveFile Source, Destin
    End If
    
    Set objOFS = Nothing

End Sub
'

Lupin
3
bonjour,



je dois passer une variable à une fonction . je ne sais pas si je dois la passer par ByVal ou ByRef ? quelle est la différence entre ces deux expressions par des exemples concrets SVP.

Autre question : if valeur boolénne then je fais quelque chose ; la valeur booléenne par défaut ici c'est quoi ?
1
Bonjour,



Merci pour toutes ces idées géniales !!!


j'ai cherché à comprendre le terme revert dans par exemple :


Documents.open filename:= toto.doc , revert:=false


mais je n'ai pas trouvé de documentation la-dessus



merci d'avance
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonjour,



merci ça marche


mais je ne comprends pas la ligne suivante :


Set objOFS = CreateObject("Scripting.FileSystemObject")


c'est quoi en détail Scripting.FileSystemObject


D'avance merci
0
bonjour,


Je voudrai piloter une application par exemple Powerpoint à partir de Word . Je ne sais pas comment . D'après ce que j'ai compris , il faut activer manuellement la référence " Micosoft PowerPoint xxx.Object Library" dans le menu OUTILS de la barre de tâche de Visual Basic Application. Y 'a -t-il une autre manière d'activer cette référence grâce à un code VBA . D'avance merci
0
Utilisateur anonyme
3 nov. 2007 à 14:10
Bonjour,

oui, il y a une autre possibilité, c'est d'utiliser les objets de scripting sous VBA.

ex: déclaré l'appel de l'objet :

Set ppApp = CreateObject("PowerPoint.Application")

ceci dit, les objets de scripting son moins évolué que ceux de l'application.

pour excel, ça donne quelque chose comme :
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Temp\MonFichier.xls")
Set xlWKS = xlBook.Worksheets(1)
Set xlRange = xlWKS.Range("A1:A65535")

je ne connais pas bien les objets de PowerPoint et même de base en VBA
sous PowerPoint, il y a beaucoup moins de choses natives des objets.
je travaille actuellement à un projet VBA sous PP qui manipule XL et j'ai
plus de facilité à manipuler Excel de l'extérieur que de manipuler PP de
l'intérieur.

Exemple complet de pilotage d'Excel à partir d'un script VBS écrit avec le bloc-notes.
http://membre.oricom.ca/lupin/documents/excelvbs.txt

Lupin
0
Utilisateur anonyme
4 nov. 2007 à 12:40
Bonjour,

un peu de lecture peut-être ...

http://membre.oricom.ca/lupin/Excel/LesRoutines.htm

Lupin
0