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 :

[A97] Pilotage de Excel par Access (formatage et hyperlien)


Sujet :

VBA Access

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Février 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 198
    Points : 171
    Points
    171
    Par défaut [A97] Pilotage de Excel par Access (formatage et hyperlien)
    Bonjour à tous,

    voici un problème sur lequel je butte depuis le début de la soirée.
    Je cherche à faire insérer des liens hypertextes dans des cellules, ainsi que de la mise en forme dans un fichier Excel 97 à partir d'Access 97.

    J'arrive à ouvrir un modèle Excel, écrire dedans et le sauvegarder, c'est seulement les liens hypertextes et la mise en forme qui ne va pas. Voici 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
     
    'Ouverture de l'appli et du modèle Excel :
    Set appexcel = CreateObject("Excel.Application")
    appexcel.Visible = True
    Set wbexcel = appexcel.Workbooks.Open(strCheminModelExcel)
     
    'Ecriture dans Excel
    With appexcel
        .Cells(1, 2) = "Toto"
        .Cells(2, 2) = "Tata"
        .Cells(3, 2) = "Titi"
    End With
     
    'Sauvegarde du fichier :
    wbexcel.SaveAs strCheminFichExcel
    Set appexcel = Nothing
    Ca, ça fonctionne

    Ce qui ne marche pas, c'est lorsque je veux insérer avant la partie sauvegarde du fichier, du code pour faire un lien hypertexte sur un texte dans une cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    appexcel.Cells(2, 2).Select
    appexcel.Hyperlinks.Add Anchor:=Selection, Address:=URLrelative
    J'ai le message :
    Erreur d'exécution '429'
    un composant ActiveX ne peut pas créer un objet
    Deuxième problème, c'est lorsque que je cherche à faire une bordure (toujours en insérant du code avant la partie sauvegarde) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    With appexcel.ActiveSheet
            .Range(.Cells(1, 1), .Cells(1, 9)).Select
            With Selection.Borders(xlEdgeLeft)
                   .LineStyle = xlContinuous
                   .Weight = xlMedium
                   .ColorIndex = xlAutomatic
            End With
    End With
    J'ai une erreur de compilation dès le lancement de la procédure :
    Erreur de compilation:
    Membre de méthode ou de données introuvable
    et c'est le .Weight qui est sélectionné après avoir cliqué sur OK.

    Pourtant, c'est du copier-coller qui fonctionne sous Excel

    Quelqu'un aurait-il une idée pour m'aider à résoudre ces deux problèmes ?

    Merci,

    Jean-Marc

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    appexcel.Cells(2, 2).Select
    appexcel.Hyperlinks.Add Anchor:=Selection, Address:=URLrelative
    manque la référence à la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    appexcel.Sheets("Feuil1").Hyperlinks.Add Anchor:=appexcel.Cells(2, 2), Address:="http:\\www.developpez.net"
    Effectivement, access refuse de dessiner les cadres

    J'utilise dans un de mes modules ce code qui fonctionne
    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
     
    Sub DessineCadre(ByVal sh As String, ByVal s As String)
     On Error GoTo erreur
     Sheets(sh).Range(s).Borders(xlDiagonalDown).LineStyle = xlNone
     Sheets(sh).Range(s).Borders(xlDiagonalUp).LineStyle = xlNone
     With Sheets(sh).Range(s).Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .Weight = xlMedium
       .ColorIndex = xlAutomatic
     End With
     With Sheets(sh).Range(s).Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .Weight = xlMedium
       .ColorIndex = xlAutomatic
      End With
      With Sheets(sh).Range(s).Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .Weight = xlMedium
       .ColorIndex = xlAutomatic
      End With
      With Sheets(sh).Range(s).Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .Weight = xlMedium
       .ColorIndex = xlAutomatic
      End With
      Sheets(sh).Range(s).Borders(xlInsideVertical).LineStyle = xlNone
      Sheets(sh).Range(s).Borders(xlInsideHorizontal).LineStyle = xlNone
     Exit Sub
    erreur:
    Resume Next
    End Sub

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Février 2005
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 198
    Points : 171
    Points
    171
    Par défaut


    Merci beaucoup Les solutions que tu proposes fonctionnent très bien !

    Jean-Marc

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

Discussions similaires

  1. Ouvrir Excel par Access
    Par gorjette dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/09/2010, 17h18
  2. Fermer Excel par Access
    Par Secco dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/12/2008, 16h59
  3. pilotage d'excel par vb net
    Par ruliane dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/07/2008, 08h44
  4. Suppression d'une zone dans Excel par Access
    Par asterpc dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/11/2007, 17h48
  5. Pilotage d'excel via Access
    Par Bombar dans le forum Access
    Réponses: 8
    Dernier message: 30/07/2006, 18h51

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