IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Name as pour déplacer fichier ne répond plus.. [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut Name as pour déplacer fichier ne répond plus..
    Bonjour,
    j'ai créé un module qui fonctionne par lequel je modifie le nom d'un fichier pdf puis je le change de répertoire via le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Name Chemin & Facture & ".pdf" As NewChemin & Renom & ".pdf"  'déplacement du fichier de téléchargement à travail_maison
    J'ai créé un autre module similaire pour lequel la modification du nom du fichier passe par la lecture du pdf au préalable.
    Donc je
    - cherche un fichier pdf
    - l'ouvre pour lire son contenu
    - récupére les données qui m'intéressent
    - ferme le fichier pdf
    Puis je veux simplement renommer ce fichier et le déplacer de répertoire.

    Le code fonctionne (ou plutôt ne plante pas) mais aucune action n'est réalisée, c'est à dire que le nom de mon fichier n'a pas changé ni il n'a été déplacé.

    Auriez vous un tuyau pour m'aider à comprendre ?

    ci-dessous le code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Sub LirePDF()
      Dim s() As String
      Dim NumFacture, NomConsultant, NomSociete, MoisConcerne, Reponse As String
      Dim Chemin, NewChemin As String
      Dim Renom As String
     
    'http://www.eileenslounge.com/viewtopic.php?f=30&t=5907
     
      Dim strPDF As String, strTmp As String, i As Integer
      ' The next ten lines and the last line in this sub can help if
      ' you get "ActiveX component can't create object" errors even
      ' though a Reference to Acrobat is set in Tools|References.
      Dim bTask As Boolean
        bTask = True
      'If Tasks.Exists(Name:="Adobe Acrobat Professional") = False Then
        bTask = False
        Dim AdobePath As String, WshShell As Object
        Set WshShell = CreateObject("Wscript.shell")
        AdobePath = WshShell.RegRead("HKEY_CLASSES_ROOT\acrobat\shell\open\command\")
        AdobePath = Trim(Left(AdobePath, InStr(AdobePath, "/") - 1))
        Shell AdobePath, vbHide
      'End If
      'Replace FilePath & Filename with the correct FilePath & Filename for the pdf file to be read.
     
      NumFacture = ActiveCell.Value
      NomConsultant = ActiveCell.Offset(0, 1).Value
      Chemin = "C:\Users\xxx\Downloads\" 'path ou le fichier est sauvegardé par défaut
     
      strPDF = ReadAcrobatDocument(Chemin & NumFacture & ".pdf") '***Use your path.
     
      Debug.Print strPDF
      s() = Split(strPDF, vbLf)
     
        NomSociete = Split(LTrim(s(7)) & Space(1))(0)
     
    'recherche de données pour les variables
        For i = 1 To 40
            On Error Resume Next
            If s(i) Like "*COMMENTAIRE*" Then
                MoisConcerne = s(i + 2) 'le mois est en général sur la deuxième ligne
                    If NomConsultant = Trim(Mid(s(i + 1), InStrRev(s(i + 1), " ") + 1)) Then 'si différence entre nom rentré et facture alors
                    Else
                    Reponse = MsgBox("Problème nom consultant cliquez " & vbLf & "OUI pour " & NomConsultant & vbLf & "NON pour " & _ 
                                                  Mid(s(i + 1), InStrRev(s(i + 1), " ") + 1), vbYesNo)
                        If Reponse = vbYes Then
                            NomConsultant = NomConsultant
                        Else
                            NomConsultant = Trim(Mid(s(i + 1), InStrRev(s(i + 1), " ") + 1))
                        End If
                    End If
            End If
        Next
     
      'If bTask = False Then Tasks.Item("Adobe Acrobat Professional").Close
     
    ' changement de nom et répertoire
     
        NewChemin = "C:\_data travailxxx\" 'path ou on sauvegardera la facture modifiée et finalisée
     
        Renom = NomConsultant & " FACTURE " & NumFacture & " - " & MoisConcerne & " " & NomSociete 'changement du nom de la facture
     
        Name Chemin & NumFacture & ".pdf" As NewChemin & Renom & ".pdf"  'déplacement du fichier de téléchargement à travail_xxx
        ActiveCell.Offset(1, 0).Select
     
    End Sub
    Le code me permettant de lire le pdf vient avec une
    Public Function ReadAcrobatDocument(strFileName As String)

    Merci pour votre retour.

  2. #2
    419
    419 est déconnecté
    Membre confirmé
    Homme Profil pro
    Portage Salarial
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Portage Salarial
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Par défaut
    Re,

    j'ai réédité 3 fois mon message pour trouver la solution.

    J'ai un p"t@i?!!! de retour chariot qui traine sur les valeurs que je récupère..

    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replace("text", chr(13),"")
    Et on est bon.

    Merci pour mon aide à moi-même
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script pour déplacer fichiers sous windows 7
    Par guitz dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 11/09/2017, 03h26
  2. Réponses: 2
    Dernier message: 20/07/2007, 07h37
  3. Réponses: 4
    Dernier message: 27/05/2007, 11h11
  4. utiliser ls et xargs pour déplacer des fichiers
    Par walrus_55 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 06/04/2007, 10h22
  5. Problème pour déplacer des fichiers
    Par kurul1 dans le forum C++Builder
    Réponses: 16
    Dernier message: 07/03/2007, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo