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

Access Discussion :

Pilotage Excel depuis Access: utilisation d'une sélection


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 54
    Points
    54
    Par défaut Pilotage Excel depuis Access: utilisation d'une sélection
    Bonjour, j'utilise le code suivant pour colorier ma sélection de cellules dans mon fichier Excel

    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
     
     
    Private Sub cmdModifierExcel_Click()
     
    '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:\TEST.xls")
    'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)
     
     
     
     
    wsExcel.Range("A1:D4").Select
     
     
    With Selection
            .Interior.ColorIndex = 3
    End With
     
     
     
     
    wbExcel.Close 'Fermeture du classeur Excel
    appExcel.Quit 'Fermeture de l'application Excel
     
     
    'Désallocation mémoire
     
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    Set appExcel = Nothing
     
    End Sub

    Le problème avec ce code, c'est que l'application Excel ne se ferme jamais (elle reste ouverte dans le gestinnaire des tâches), malgré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    wbExcel.Close 'Fermeture du classeur Excel
    appExcel.Quit 'Fermeture de l'application Excel

    Si j'enleve le morceau de code suivant, tout va bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With Selection
            .Interior.ColorIndex = 3
    End With

    Sans doute, faut il libérer la sélection?
    Si quelqu'un à une idée, pour ma part je chercherai demain matin (journée finie )

    Merci A+

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Je ne vois pas bien le rapport de cause à effet, mais il y a qd même un petit pb dans ton instruction Qui correspond implicitement à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With appExcel.Selection
    Mais en automation, il vaut mieux être explicite.

    Tu peux aussi faire plus court. Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    wsExcel.Range("A1:D4").Select
     
     
    With Selection
     .Interior.ColorIndex = 3
     ...
    End With
    tu peux écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With wsExcel.Range("A1:D4")
     .Interior.ColorIndex = 3
     ...
    End With
    ET si tu n'as qu'une ligne dans le With
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wsExcel.Range("A1:D4").Interior.ColorIndex = 3
    Bon courage,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 75
    Points : 54
    Points
    54
    Par défaut
    Merci pour ce petit tuto, j'ai les idées un peu plus claires

    A+

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

Discussions similaires

  1. renommer une feuille d'un fichier excel depuis Access en VBA
    Par alexkickstand dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/08/2007, 17h55
  2. [Manipulation Excel] Executer une macro Excel depuis Access
    Par sebastien_oasis dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/05/2007, 15h21
  3. Lancer une macro Excel depuis Access
    Par pascal913 dans le forum Access
    Réponses: 12
    Dernier message: 31/07/2006, 15h31
  4. Verifier l'existence d'une cellule de excel depuis access
    Par snooopy007 dans le forum Access
    Réponses: 2
    Dernier message: 18/07/2006, 17h25
  5. Lancer une macro Excel depuis Access
    Par marcobosio dans le forum Access
    Réponses: 6
    Dernier message: 05/06/2006, 20h51

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