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 :

Fichier introuvable excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    jeanyvesporcher
    Inscrit en
    octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : jeanyvesporcher
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : octobre 2020
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Fichier introuvable excel
    Bonjour à tous,
    J'ai un souci avec une macro, Apres trois essai Mot de passe nul j'appel la procédure de destruction de mon classeur
    avec Call DESTRUCTION_FICHIER et j'ai une fenêtre qui s'ouvre et le message est :
    Erreur 53 Fichier introuvable
    Merci pour votre aide..
    Ci-dessous macro
    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
    Sub DESTRUCTION_FICHIER()
    Dim FName As String
    Dim Ndx As Integer
    With ThisWorkbook
        .Save
        For Ndx = 1 To Application.RecentFiles.Count
            If Application.RecentFiles(Ndx).Path = .FullName Then
                Application.RecentFiles(Ndx).Delete
                Exit For
            End If
        Next Ndx
        .ChangeFileAccess Mode:=xlReadOnly
        Kill .FullName
        .Close SaveChanges:=False
    End With
    End Sub

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 6 034
    Points : 14 863
    Points
    14 863
    Billets dans le blog
    38
    Par défaut
    Citation Envoyé par jeanyvesVB Voir le message
    Bonjour,

    Comme dans toute destruction, il faut commencer par la fin.
    Nb : Je n'ai pas testé votre code, donc pas certain que cela fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    For Ndx = Application.RecentFiles.Count To 1 Step -1
    Nb : Quand vous postez du code, sélectionnez-le et cliquez sur la balise # dans le menu.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Candidat au Club
    Homme Profil pro
    jeanyvesporcher
    Inscrit en
    octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : jeanyvesporcher
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : octobre 2020
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Erreur53
    Bonjour,
    J'ai testé, n'a pas fonctionner chez moi
    Je vous joint mon classeur, se sera plus claire.
    Merci


    NDLR: Le fichier a été supprimé car la macro à l'ouverture flingue potentiellement les derniers fichiers utilisés!! Après cela, il y a des gens qui râlent parce que la politique de nos forums est "pas de fichier joint"...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 6 034
    Points : 14 863
    Points
    14 863
    Billets dans le blog
    38
    Par défaut
    Citation Envoyé par jeanyvesVB Voir le message
    Attention !!! Ne pas ouvrir le fichier joint, vous risquez de perdre des fichiers.

    Chez moi, je récupère bien la liste des fichiers récents.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub DESTRUCTION_FICHIER()
     
    Dim FName As String
    Dim Ndx As Integer
     
            With ThisWorkbook
                Debug.Print Application.RecentFiles.Count
                For Ndx = Application.RecentFiles.Count To 1 Step -1
                    Debug.Print Application.RecentFiles(Ndx).Path
                Next Ndx
            End With
     
    End Sub
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    novembre 2003
    Messages
    17 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

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

    Informations forums :
    Inscription : novembre 2003
    Messages : 17 148
    Points : 49 407
    Points
    49 407
    Billets dans le blog
    92
    Par défaut
    Salut.

    Lancer une procédure d'autodestruction à l'ouverture du fichier est pour moi "rigolo", même si je comprends bien la volonté. Bon, de ma lecture, il n'y avait pas trop de danger (je n'ai pas vérifié que le test dans la boucle des RecentFiles était correcte, ceci dit) donc c'est le genre de code qu'on n'aime pas trop voir se lancer sans pouvoir le contrôler.

    Ton code essaie de supprimer un fichier ouvert. Forcément, ça va pas le faire. Après, tu veux fermer le fichier alors que, si ton code avait fonctionner, il aurait été supprimé => impossible de fermer un fichier qui n'existerait plus.

    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
    Sub DESTRUCTION_FICHIER()
    Dim FName As String
    Dim Ndx As Integer
    With ThisWorkbook
        .Save
        'For Ndx = 1 To Application.RecentFiles.Count
        For Ndx = Application.RecentFiles.Count To 1 Step -1
            If Application.RecentFiles(Ndx).Path = .FullName Then
                Application.RecentFiles(Ndx).Delete
                Exit For
            End If
        Next Ndx
        .ChangeFileAccess Mode:=xlReadOnly
        Kill .FullName ' ===>> Difficile de flinguer un fichier ouvert
        .Close SaveChanges:=False ' ===> Marrant de vouloir fermer un fichier qui, si ta ligne précédent avait fonctionné, n'existerait plus...
    End With
    End Sub

    Si tu cherches à supprimer le fichier parce que la personne qui l'ouvre ne peut pas l'utiliser (je suppose que tu as créé LE super fichier qui va te rendre riche ... C'est un clin d’œil), tu vas juste la piéger la première fois. Après, elle reprend le fichier d'où elle l'a trouvé et elle l'ouvre en désactivant les macros. La protection n'aura pas duré longtemps.

    A moins de rentrer encore dans des discussions interminables, il me semble judicieux de dire que la protection totale d'un fichier Excel est illusoire...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    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
    Candidat au Club
    Homme Profil pro
    jeanyvesporcher
    Inscrit en
    octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : jeanyvesporcher
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : octobre 2020
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Erreur 53
    Bonjour,
    Ce que tu viens de me dire est FAUX, car la version 2019 de Office 365 ce classeur ou Projet fonctionnait très bien, le classeur
    disparait définitivement et ne ce trouve pas dans la poubelle donc il a disparu et nul personne ne peut le récupérer.

    depuis la version 2020 avec mise à jour et verser l'abonnement de office 365 je n'ai que des problèmes !

    fait' il que j'achète la version office 2016 ou 2019 illimité pour résoudre certains nombres de problèmes…
    Je lance le débat.
    Cordialement

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    novembre 2003
    Messages
    17 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

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

    Informations forums :
    Inscription : novembre 2003
    Messages : 17 148
    Points : 49 407
    Points
    49 407
    Billets dans le blog
    92
    Par défaut
    Peux-tu citer précisément ce qui est faux dans ce que j'ai dit?

    Sur ma version 365, on ne sait pas supprimer un fichier ouvert (ce qui me paraît logique, en fait, et je parie que ça fonctionne ainsi sur les autres versions, car c'est un "problème" de verrou sur fichier). Le fait que ton code ne fonctionne pas semblerait me donner raison, non?

    Nom : 2021-04-08_151348.png
Affichages : 15
Taille : 6,5 Ko


    Quant aux nombreux problèmes que tu rencontres avec la 365, il serait utile d'ouvrir une discussion par problème rencontré pour que l'on puisse y voir plus clair. Perso, ce n'est que du bonheur, la 365. Au passage, je ne vois pas ce qu'est la version 2020 ^^
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    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...
    ---------------

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    novembre 2003
    Messages
    17 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

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

    Informations forums :
    Inscription : novembre 2003
    Messages : 17 148
    Points : 49 407
    Points
    49 407
    Billets dans le blog
    92
    Par défaut
    Par contre, l'erreur 53 pourrait venir du fait que ton classeur n'est pas encore enregistré, auquel cas il est évidemment difficile de le supprimer du disque, puisqu'il n'y existe pas encore...

    Nom : 2021-04-08_151922.png
Affichages : 13
Taille : 15,3 Ko


    Quoi qu'il en soit, je ne vois pas trop comment un fichier pourrait se supprimer lui-même.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    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...
    ---------------

Discussions similaires

  1. Réponses: 11
    Dernier message: 11/11/2017, 21h19
  2. [C#] Nombre de lignes d'un fichier xls (Excel)
    Par BouB dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/03/2009, 10h58
  3. Réponses: 5
    Dernier message: 22/05/2007, 22h34
  4. DBLINK avec un fichier externe Excel
    Par logica dans le forum Oracle
    Réponses: 1
    Dernier message: 30/09/2005, 12h36
  5. [FLASH MX] flash+xml : Fichier introuvable
    Par bariot dans le forum Flash
    Réponses: 1
    Dernier message: 02/08/2005, 13h31

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