Bonjour à tous!
Voilà, j'aimerai pouvoir, avec une macro vba sur excel, ouvrir un pdf et l'enregistrer dans un autre dossier.
Voyez-vous comment faire?
Merci!
Bonjour à tous!
Voilà, j'aimerai pouvoir, avec une macro vba sur excel, ouvrir un pdf et l'enregistrer dans un autre dossier.
Voyez-vous comment faire?
Merci!
Salut, tu as Excel et l'enregistreur de macro ainsi que ceci avec cette liste pour y naviguer : Liste des contributions et téléchargements
Il te reste aussi F1 sur Name ... As, FileCopy
Tout cela demande un minimum d'effort , n'attends pas du tout cuit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Private Const SW_SHOWNORMAL = 1 Sub Tst() Dim sFichier As String, hwnd As Long sFichier = "C:\Faq\Faq VBA\Exemples\PDF\PdfDistiller\Essai_Distiller.pdf" ShellExecute hwnd, "Open", sFichier, 0&, 0&, SW_SHOWNORMAL End Sub
J'ai déjà pris connaissance de ce post (très bien rédigé d'ailleurs!) mais je ne vois pas ce que je recherche (celui qui se rapprocherait le plus de ce dont je recherche est le premier).
J'ai déjà pas mal de lignes de code et j'aimerai une méthode simple type saveas mais pour un pdf (ou shell je pense) qui me permette simplement d'ouvrir, d'enregistrer dans un autre dossier et de fermer mon pdf. Je n'arrive pas à trouver de méthode simple pour ça, aurais-tu une idée justement?
Merci encore!
Salut.
As-tu besoin de l'ouvrir ou dois-tu seulement le copier d'un dossier vers un autre dossier?
Si tu l'ouvres juste pour le renommer (= déplacer), ce n'est ni un problème Excel ni un problème pdf, mais un simple problème vba et il n'est pas nécessaire d'ouvrir le fichier pour cela. il faut utiliser, tant pour l'ancien nom que pour le nouveau, le chemin complet des fichiers
Pour renommer (= déplacer), tu peux utiliser Name. Le fichier de destination de peut pas préexister à la manoeuvre
Pour déplacer en écrasant le fichier de destination s'il existe (L'absence de Kill effectue une copie et non un déplacement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Name OldName As NewName
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2filecopy OldName, NewName kill Oldname ' A utiliser pour un déplacement, à oublier pour une copie
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Merci pout ta réponse! Oui ça ressemble plus à ce que je veux effectivement!
Tu as raison, je n'ai nul besoin d'ouvrir le document car je n'ai pas à le renommer, je dois simplement le copier d'un dossier A et le coller dans un dossier B
As-tu une idée?
C'est en toutes lettres dans ma première réponse
Je t'ai donné la solution pour le déplacer (Name xxx as yyy) et pour le copier (filecopy xxx, yyy)
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Cette fonction, ne va-t-elle pas uniquement renommer le fichier?
Comme je peux entrer mes deux chemins dans cette fonction?
Je te remercie!
Salut, tu ne lis pas, cela est également déjà signalé dans mon post 2
Extrait :
Dim OldName, NewName
OldName = "OLDFILE": NewName = "NEWFILE" ' Define file names.
Name OldName As NewName ' Rename file.
OldName = "C:\MYDIR\OLDFILE": NewName = "C:\YOURDIR\NEWFILE"
Name OldName As NewName ' Move and rename file.
Pourquoi être agressif? Je n'arrive simplement pas à comprendre ton code et comment l'utiliser...
C'est pour ça que je demandais s'il existait une méthode "simple" pour effectuer un simple copier coller d'un fichier d'un point A vers un point B..
Je lis tes réponses, je te remercie de répondre mais serait-il possible de m'indiquer ou mettre le nom de mon fichier, le chemin A et le chemin B
Merci encore!
Filecopy Anciennom, nouveaunom
Anciennom = nom complet (chemin complet compris)
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Merci pour vos réponses précieuses!!!
La citation ne s'était pas chargée et je ne voyais donc pas le code, cela venait donc bien de mon coté
Bonjour
Je reviens vers vous car j'ai bien utilisé votre code et celui ci fonctionne parfaitement!
Je voulais savoir s'il était possible de rajouter une petite variante ou de modifier ce code afin qu'il conserve également le fichier d'origine, c'est à dire qu'au lieu de le déplacer, il le copie/colle
Merciiii!
Salut.
Je t'avais proposé les deux solutions... Rename qui déplace et FileCopy qui copie. Il suffit donc d'utiliser FileCopy sans la ligne KILL... que je t'avais donnée
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager