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

VBA Access Discussion :

VBA export sur Excel d'un champ de formulaire [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Pilotage des performances
    Inscrit en
    Novembre 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Pilotage des performances
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 41
    Points : 20
    Points
    20
    Par défaut VBA export sur Excel d'un champ de formulaire
    Bonjour à tous !

    A travers ce code j'ouvre mon fichier excel puis j'y exporte en K2 le mois sélectionné dans le forumulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Ouvre Excel et saisie date du formulaire
        Set Xl = New Excel.Application
        Xl.Visible = True
        Set Classeur = Xl.Workbooks.Open("S:\Documents\Liberté suivi\Save\Test_Export1.xlsb")
        Range("K2").Value = Forms("F_Saisie").Controls("Lb_Mois").Value
    (il n'y a que la partie du code qui bloque)

    Cette opération fonctionne mais seulement une fois sur 2, je n'arrive pas à comprendre pourquoi.
    Si quelqu’un à les lumières x) merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Personnellement quand je manipule Excel je suis super spécifique. Je te suggère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set Classeur = Xl.Workbooks.Open("S:\Documents\Liberté suivi\Save\Test_Export1.xlsb")
    dim feuille as excel.worksheet:set feuille=classeur.worksheets(1) ' Je suppose que ton classeur n'a qu'une feuille ou que c'est seulement la 1ère qui t'intéresse.
    feuille.Range("K2").Value = Forms("F_Saisie").Controls("Lb_Mois").Value
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Pilotage des performances
    Inscrit en
    Novembre 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Pilotage des performances
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Super, ça fonctionne à tous les coups maintenant .

    Merci beaucoup pour ton aide!!

  4. #4
    Membre à l'essai
    Homme Profil pro
    Pilotage des performances
    Inscrit en
    Novembre 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Pilotage des performances
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Bonjour, Désolé pour le double poste :/

    Voulant aller encore plus loin dans le code je fais face à un nouveau problème
    En effet un fois l'extraction sur Excel faite, il me faudrait enregistrer-sous le fichier en question avec une partie variable dans le nom.
    Cette partie variable correspond au mois et à l'année sélectionné dans un formulaire.
    Voila 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
    Private Sub Export_Excel_Click()
     
    DoCmd.TransferSpreadsheet acExport, , "Sel_Activity_Final_Comparatif", "S:\Documents\Liberté suivi\Save\Test_Export1.xlsb", True, "Base"
     Dim Xl As excel.Application
        Dim Classeur As excel.Workbook
     
     
     
     
        'Ouvre Excel et saisie date du formulaire
           Set Xl = New excel.Application
        Xl.Visible = True
      Set Classeur = Xl.Workbooks.Open("S:\Documents\Liberté suivi\Save\Test_Export1.xlsb")
    Dim feuille As excel.Worksheet: Set feuille = Classeur.Worksheets(1)
    feuille.Range("K2").Value = Forms("F_Saisie").Controls("Lb_Mois").Value
    feuille.Range("L2").Value = Forms("F_Saisie").Controls("Annee").Value
     
     'Enregistre sous le fichier Excel de base pour le nommer en fonction des dates du formulaire
     
        ActiveWorkbook.SaveAs FileName:= _
            "S:\Documents\Liberté suivi\Save\Suivi_ELD_&feuille.Range(K2).Value&_&feuille.Range(L1).Value&.xlsb", FileFormat:=xlExcel12, _
            CreateBackup:=False
    End Sub
    C'est au niveau de la dernière partie que cela coince, l'enregistrement sous se fait 1 fois sur 2 (là encore).
    Par contre je n'arrive pas à intégrer les variables dans le titre.
    Merci par avance encore une fois !

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je pense que c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "S:\Documents\Liberté suivi\Save\Suivi_ELD_" & feuille.Range("K2").Value & "_" & feuille.Range("L1").Value & ".xlsb"
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Pilotage des performances
    Inscrit en
    Novembre 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Pilotage des performances
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Je viens d'effectué la modification du code, cela fonctionne le fichier s'enregistre-sous de la façon dont je le souhaite .
    Cependant l'opération ne fonctionne toujours qu'une fois sur deux !
    Je ne comprend pas pourquoi :/

    Je vous remet le code, c'est uniquement la dernière partie de celui-ci ou apparaît un débogage une fois sur deux.

    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
    Private Sub Export_Excel_Click()
     
    DoCmd.TransferSpreadsheet acExport, , "Sel_Activity_Final_Comparatif", "S:\Documents\Liberté suivi\Save\Test_Export1.xlsb", True, "Base"
     Dim Xl As excel.Application
        Dim Classeur As excel.Workbook
     
     
     
     
        'Ouvre Excel et saisie date du formulaire
           Set Xl = New excel.Application
        Xl.Visible = True
      Set Classeur = Xl.Workbooks.Open("S:\Documents\Liberté suivi\Save\Test_Export1.xlsb")
    Dim feuille As excel.Worksheet: Set feuille = Classeur.Worksheets(1)
    feuille.Range("K2").Value = Forms("F_Saisie").Controls("Lb_Mois").Value
    feuille.Range("L2").Value = Forms("F_Saisie").Controls("Annee").Value
     
     'Enregistre sous le fichier Excel de base pour le nommer en fonction des dates du formulaire
        ActiveWorkbook.SaveAs FileName:= _
            "S:\Documents\Liberté suivi\Save\Suivi_ELD_" & feuille.Range("K2").Value & "_" & feuille.Range("L2").Value & ".xlsb"
    End Sub
    Edit: L'erreur qui apparaît 1 fois sur 2 est: " Erreur d'exécution 91 variable objet ou variable de bloc with non défini"

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Sur quelle ligne ?
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Pilotage des performances
    Inscrit en
    Novembre 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Pilotage des performances
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    C'est à ce niveau là que ça bloque.
    Je le re précise l'erreur n'arrive pas tout le temps, seulement une fois sur deux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs FileName:= _
            "S:\Documents\Liberté suivi\Save\Suivi_ELD_" & feuille.Range("K2").Value & "_" & feuille.Range("L2").Value & ".xlsb"

  9. #9
    Invité
    Invité(e)
    Par défaut
    bonjour,
    une fois sur deux?. c'est en soit surprenant!
    Citation Envoyé par madock Voir le message
    Bonjour,

    C'est à ce niveau là que ça bloque.
    Je le re précise l'erreur n'arrive pas tout le temps, seulement une fois sur deux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs FileName:= _
            "S:\Documents\Liberté suivi\Save\Suivi_ELD_" & feuille.Range("K2").Value & "_" & feuille.Range("L2").Value & ".xlsb"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Classeur.SaveAs FileName:= _
            "S:\Documents\Liberté suivi\Save\Suivi_ELD_" & feuille.Range("K2").Value & "_" & feuille.Range("L2").Value & ".xlsb"

  10. #10
    Membre à l'essai
    Homme Profil pro
    Pilotage des performances
    Inscrit en
    Novembre 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Pilotage des performances
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 41
    Points : 20
    Points
    20
    Par défaut
    C'est bon ça fonctionne !!!
    Super merci beaucoup c'était tout bête

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

Discussions similaires

  1. problem lors de l'export sur EXCEL
    Par caracas dans le forum Débuter
    Réponses: 2
    Dernier message: 16/04/2009, 12h40
  2. Export sur Excel - Longueur de champ
    Par eddyG dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/11/2007, 21h01
  3. exportation sur excel problème de formatage
    Par Alexandre Sahli dans le forum Access
    Réponses: 12
    Dernier message: 05/09/2006, 17h56
  4. [VBA] exportation vers excel - filtres automatiques?
    Par Christophe93250 dans le forum Access
    Réponses: 10
    Dernier message: 06/01/2006, 16h36
  5. Erreur d'exportation vers Excel : Trop de champs definis
    Par deglingo37 dans le forum Access
    Réponses: 3
    Dernier message: 15/06/2005, 17h30

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