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 :

mise en forme fichier excel depuis code vba (Access 2003)


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut mise en forme fichier excel depuis code vba (Access 2003)
    Bonjour,

    j'ai un petit souci....ce souci et que j'execute des fonctions qui devraient changer la mise en forme de mon fichier excel mais il n'en est rien

    Voici un petit bout de mon 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
     
     
    Private Sub Commande5_Click()
     
    Dim i As Integer
    Dim dlgSaveAs As FileDialog
    Dim chem As String
    Dim strDateDébut As String
    Dim strDateFin As String
     
    strDateDébut = traitementDateSaisie(Me.Texte3.Value)
    strDateFin = traitementDateSaisie(Me.Texte8.Value)
     
    Set dlgSaveAs = Application.FileDialog(msoFileDialogSaveAs)
     
    dlgSaveAs.Show 'boîte de dialoque de sauvegarde
     
    If dlgSaveAs.ButtonName = "Enregistrer" Then:
     
     
     
    chem = dlgSaveAs.SelectedItems(1)
     
    Open chem + ".xls" For Output As #1
    Close #1
     
     
    Set appExcel = CreateObject("Excel.Application")
    Set wbExcel = appExcel.Workbooks.Open(chem + ".xls")
    Set wsExcel = wbExcel.Worksheets(1)
     
    initialisationMyArray
    initialisationTabFournisseur
    miseEnFormeFichierExcel       ' nom des colones             
    requeteRapportPcs strDateDébut, strDateFin
    insertionDonnéeFichierExcel
     
     
    Range(Cells(2, 1), Cells(20, 1)).Font.Bold = True
     
     
    MsgBox ("Votre fichier est à prèsent disponible à l'emplacement :" + chem)
     
    End Sub

    la ligne de code Range(Cells(2, 1), Cells(20, 1)).Font.Bold = True n'a aucun effet mais elle ne génère aucune erreur non plus ..... depuis hier midi je cherche mais je ne trouve pas....Je suis débutant en vba

    Merci de votre aide

  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,
    lorsque tu n'est pas dans l'application elle-même (en l'occurence dans Access pour piloter Excel, mieux vaut toujours définir exactement à quoi on fait fait référence, ici essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.Range(Cells(2, 1), Cells(20, 1)).Font.Bold = True
    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
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Je viens d'essayer et cela me donne l'erreur suivante:

    Erreur d'exécution 91
    variable objet ou variable de bloc with non défini

    et si je place la ligne de code avant mes appelles des procédures(initialisation....) j'ai l'erreur suivante :

    Erreur d'exécution 1004
    la méthode range de l'objet worsheet a echoué

  4. #4
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AppExcel.Range(AppExcel.Cells(2, 1), AppExcel.Cells(20,1)).Font.Bold = True

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    je viens d'executer ton code.
    j'ai essayé dans un premier temps comme ceci
    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
     
     
    Set appExcel = CreateObject("Excel.Application")
    Set wbExcel = appExcel.Workbooks.Open(chem + ".xls")
    Set wsExcel = wbExcel.Worksheets(1)
     
    appExcel.Range(appExcel.Cells(2, 1), appExcel.Cells(20, 1)).Font.Bold = True
     
    miseEnFormeFichierExcel
    requeteRapportPcs strDateDébut, strDateFin
    insertionDonnéeFichierExcel
     
     
     
    MsgBox ("Votre fichier est à prèsent disponible à l'emplacement :" + chem)
    là je n'ai pas de message d'erreur mais je n'ai tjs pas mes données qui sont mise en gras de la cellule 2 , 1 a 20 , 1

    puis dans un deuxieme temps j'ai essayé comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Set appExcel = CreateObject("Excel.Application")
    Set wbExcel = appExcel.Workbooks.Open(chem + ".xls")
    Set wsExcel = wbExcel.Worksheets(1)
     
     
     
    miseEnFormeFichierExcel
    requeteRapportPcs strDateDébut, strDateFin
    insertionDonnéeFichierExcel
     
    appExcel.Range(appExcel.Cells(2, 1), appExcel.Cells(20, 1)).Font.Bold = True
     
    MsgBox ("Votre fichier est à prèsent disponible à l'emplacement :" + chem)
    la j'ai un message d'erreur:

    Erreur d'exection 91

    variable objet ou variable de bloc with non définie

    Je ne comprend pas .....
    Je suis tjs à l'ecoute de quelques conseils
    Merci de m'offrir de votre temps

  6. #6
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.Range(wsExcel.Cells(2, 1), wsExcel.Cells(20, 1)).Font.Bold = True

  7. #7
    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
    moi là où j'ai un doute, c'est l'utilisation de ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    miseEnFormeFichierExcel
    il fait comment ton code pour récupérer tes worksheets ? variables globales ?
    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

  8. #8
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    moi là où j'ai un doute, c'est l'utilisation de ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    miseEnFormeFichierExcel
    il fait comment ton code pour récupérer tes worksheets ? variables globales ?
    J'utilise le code suivant pour recupere mes worksheets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Déclaration des variables
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel
     
    'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
    'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open("C:\MonFichierExcel.xls") 
    'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)
    Mes variables concernant les fichiers et requête sont déclarés en global et privé dans le formulaire

    je viens de palier au problème en supprimant la ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'Open chem + ".xls" For Output As #1
    'Close #1
    Donc au lieu de creer le fichier puis de le fermer et de le réouvrir... je le creer et je le modifier directement....
    Voici mon nouveau bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
    'Ajout d'un classeur 
    appExcel.Workbooks.Add 
    'Récupération du classeur par défaut
    Set wbExcel = appExcel.ActiveWorkbook
    'Récupération de la feuille par défaut
    Set wsExcel = wbExcel.ActiveSheet
     
    miseEnFormeFichierExcel  ' procedure mise en forme qui contient en    plus 
     les  fonctions permettant de  modifier couleur du texte
    requeteRapportPcs strDateDébut, strDateFin
    insertionDonnéeFichierExcel
    mais j'aimerai savoir quel code il faut utiliser pour pouvoir modifier la couleur du texte ou bien la taille des cellules d'un fichier excel déja existant....
    Merci pour votre aide

  9. #9
    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,
    tu peux récupérer le code généré par le macro recorder sous Excel, et l'adapter assez facilement dans Access.
    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

Discussions similaires

  1. Mise en forme conditionnelle adaptée à un code VBA
    Par rihab92 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/05/2015, 09h39
  2. [Débutant] Mise en forme fichier excel datgridview
    Par tayari dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/03/2015, 02h51
  3. Mise en forme fichier excel vbscript
    Par juzii dans le forum VBScript
    Réponses: 1
    Dernier message: 15/04/2010, 18h00
  4. Accés au donnés sur Excel via Code vba Access
    Par sakia dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/11/2007, 16h46
  5. Réponses: 1
    Dernier message: 16/03/2007, 10h30

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