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 :

Debug.Print dans les classes de VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    CADRE COMPTABLE
    Inscrit en
    Mars 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : CADRE COMPTABLE
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2020
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Debug.Print dans les classes de VBA
    Bonjour, S'Il vouz plait, est ce vous m'aider en ce qui concerne l'instruction debug.print fil.name et l'instruction fil.copy qui bloquent la suite de l'exécution
    de mon programme relatif a la classe fileSystemObject, à ce que le problème est au niveau de la syntaxe car le message d'erreur m'indique une erreur de compilation
    :membre de mtohde ou données introuvables.Veuillez trouver le programme en dessous et en pièce jointe:
    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
     
    Sub UsingFileSystemObject1()
    Dim fso As Scripting.FileSystemObject
    Dim NewPath As String
    Dim FolderPath As String
    Dim Fil As Scripting.File
     
    FolderPath = "D:\Dossiers"
    NewPath = "D:\Fichiers"
    Set fso = New Scripting.FileSystemObject
     
    If Not fso.FolderExists(NewPath) Then
      fso.CreateFolder NewPath
    End If
     
    If fso.FileExists(FolderPath & "\ Article sans code 2020.xlsx") Then
      Set Fil = fso.GetFile(FolderPath & "\ Article sans code 2020.xlsx")
     Debug.Print Fil.Name, Fil.Path, Fil.DateCreated, Fil.Size, Fil.Type
    Fil.copy NewPath&"\Article sans code 2020.xlsx")
      End If
     End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,
    tu as des espaces qui se baladent en trop dans tes lignes de code, avant le nom du fichier par exemple.

    De la même façon, tu as une parenthèse fermante dans ta ligne, en plus d'oublier d'espacer NewPath et le symbole &

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fil.copy NewPath&"\Article sans code 2020.xlsx")
    à transformer en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fil.copy NewPath & "\Article sans code 2020.xlsx"
    Commençons donc avec un code qui est correctement rédigé, on élimine une partie des soucis
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Futur Membre du Club
    Femme Profil pro
    CADRE COMPTABLE
    Inscrit en
    Mars 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : CADRE COMPTABLE
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2020
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    JE VOUS REMERCIE MONSIEUR POUR LA REPONSE, mais je n'arrive pas à régler le problème, même en corrigeant la syntaxe, est ce que
    vous pouvez me corriger le programme sur le fichier Excel qui est en pièce jointe. Vous remerciant d'avance

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 271
    Points
    34 271
    Par défaut
    Bonjour,

    je ne peux pas télécharger ton fichier (sécurité d'entreprise), aussi je te suggère de nous montrer ton code corrigé et de nous dire quelle ligne est en erreur, et quelle est cette erreur
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Le code que tu illustres n'est pas celui de ton fichier (il manque la ligne fil.Copy... dans le fichier ^^). A partir de ce constat et sans précisions sur la ligne qui pose problème, le code exact utilisé et le message d'erreur rencontré, il sera malaisé de t'aider.

    Si ton code ne doit réaliser que cette copie de fichier, c'est un peu le bazooka pour tuer une mouche, un simple Filecopy Source, destination étant amplement suffisant, en plus des vérifications d'usage sur l'existence de source et de destination.
    "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...
    ---------------

  6. #6
    Futur Membre du Club
    Femme Profil pro
    CADRE COMPTABLE
    Inscrit en
    Mars 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : CADRE COMPTABLE
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2020
    Messages : 9
    Points : 9
    Points
    9
    Par défaut DEBUG.PRINT FILE SYSTEMOBJECT
    Bonjour l'équipe,
    Vous avez raison Monsieur pierre FAUCONNIER,c'est un peu le bazooka pour tuer une mouche, un simple file copy source, destination
    suffit, et j' ai corrigé mon code et ça marche,dont je vous soumets mon petit programme corrigé comme ci dessous et je vous remercie:

    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
    Sub UsingFileSystemObject2()
    Dim fso As Scripting.FileSystemObject
    Dim NewPath As String
    Dim FolderPath As Folder
    Dim Fil As File
    Dim x As String
    Dim source As String
    Dim destinationFolder As String
    destinationFolder = ("c:\Fichiers")
     
     NewPath = "c:\Fichiers"
     Set fso = New Scripting.FileSystemObject
    If Not fso.FolderExists(NewPath) Then
      fso.CreateFolder NewPath
    End If
            If fso.FolderExists("c:\Mes dossiers") Then
                Set FolderPath = fso.GetFolder("c:\Mes dossiers")
             End If
     
        For Each Fil In FolderPath.Files
        Debug.Print Fil.Name, Fil.Type
        fso.CopyFile source:=fso.GetFile(Fil), _
        Destination:=destinationFolder & "\" & Fil.Name, Overwritefiles:=False
         Next Fil
     End Sub

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/08/2007, 20h39
  2. SDL dans les classes
    Par thekaz dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 13/10/2006, 21h04
  3. fopen dans les classes
    Par poussinphp dans le forum C++
    Réponses: 5
    Dernier message: 06/07/2006, 01h08
  4. [C++] Pb avec les variable static dans les classe
    Par quantik-revolution dans le forum C++
    Réponses: 3
    Dernier message: 03/03/2006, 18h40
  5. [preferences] pouvoir débuguer dans les classes de JAVA
    Par Satch dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 25/01/2006, 13h23

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