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 Access Discussion :

Message d'erreur lors de l’exportation table access


Sujet :

Macros Access

  1. #1
    Membre actif
    Message d'erreur lors de l’exportation table access
    Bonjour a vous tous
    J'ai cette macro qui procède à l'exportation de toutes mes tables Access vers un fichier Excel, le problème est qu'à chaque fois il m'affiche un message d'erreur

    Impossible d'agrandir la plage nommée


    Une idée pour résoudre cette erreur
    Cordialement

  2. #2
    Membre chevronné
    Bonjour,

    Peut-être une solution: vérifier l'existence du fichier avant l'export et s'il existe le supprimer.
    Deux discussions sur ce sujet: A - B

    Cordialement.

  3. #3
    Membre actif
    Bonjour EricDgn
    Merci pour les lien intéressant, maintenant je veux convertir ma macro en VBA
    Alors j'ai cherché sur internet comment supprimer un fichier excel depuis Access et j'ai trouvé ce code
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    kill("c:\monfichier.txt")

    Le problème après suppression je ne retrouve pas le fichier dans la corbeille pour une éventuelle restauration.
    Cordialement

  4. #4
    Expert éminent
    bonsoir,
    c'est dans la FAQ
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  5. #5
    Membre actif
    Bonsoir tee_grandbois
    Merci pour le lien, j'ai insérer le code VBA dans un nouvelle module, mais je ne sais pas commet l'appeler depuis mon code, désolé cela est a cause de mon niveau faible en VBA

    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
    Private Sub Commande3_Click()
    If Dir("d:\BaseAccess.xls") <> "" Then
    Kill ("d:\BaseAccess.xls")
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Banque", "d:\BaseAccess.xls", True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Bureau de poste", "d:\BaseAccess.xls", True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Encaissements", "d:\BaseAccess.xls", True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Encaissements Cheques", "d:\BaseAccess.xls", True
    MsgBox "Fichier enregistré"
    DoCmd.Quit
    Else
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Banque", "d:\BaseAccess.xls", True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Bureau de poste", "d:\BaseAccess.xls", True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Encaissements", "d:\BaseAccess.xls", True
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Encaissements Cheques", "d:\BaseAccess.xls", True
    MsgBox "Fichier enregistré"
    DoCmd.Quit
    End If
    End Sub


    Cordialement
    A bientôt

  6. #6
    Expert éminent
    il y avait un exemple à la fin de la FAQ, tu remplaces
    Code VBA :Sélectionner tout -Visualiser dans une fenêtre à part
    Kill ("d:\BaseAccess.xls")

    par
    Code VBA :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If DansCorbeille("d:\BaseAccess.xls", Me.hwnd) = false Then
        MsgBox "Le fichier n'a pas pu être déplacé dans la corbeille"
        Exit sub
    End If

    Attention: DoCmd.Quit est une commande pour fermer Access: est-ce bien cela que tu souhaites faire ?
    Sinon, pour quitter la procédure c'est Exit Sub pour une sub ou Exit Function pour une fonction.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  7. #7
    Membre actif
    Bonsoir tee_grandbois
    Merci a vous et a EricDgn pour votre aide precieuse cela fonctionne tres bien

    Aussi
    Citation Envoyé par tee_grandbois Voir le message
    Attention: DoCmd.Quit est une commande pour fermer Access: est-ce bien cela que tu souhaites faire ?
    Oui c'est ce que je veux

    Cordialement