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 :

Bordures excel dans cadre objet independant


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Bordures excel dans cadre objet independant
    Hello,

    J'ai un petit problème avec des bordures excel. J'ai effectivement un sous-formulaire contenant un tableau excel et je n'arrive pas a éditer les bordures de mes cellules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    With sous_formulaire.Controls("cadreobjetindependant").Object.Worksheets(1)
            With .Range(.cells(3, 2), .cells(102, 31))
                .clearcontents
                .Borders(xlDiagonalDown).LineStyle = xlNone
                .Borders(xlDiagonalUp).LineStyle = xlNone
                With .Borders(xlEdgeLeft)
                    .LineStyle = xlContinuous
                    .Weight = xlMedium
                    .ColorIndex = xlAutomatic
                End With
                ...
    Tout va très bien jusqu'à l'instruction ".clearcontents". Après j'ai des erreurs de variables non définies sur "xlNone", "xlDiagonalDown", "xlDiagonalUp", "xlEdgeLeft", "xlContinuous", "xlMedium" et "xlAutomatic" (et le reste que j'ai pas mis là)

    Quelle instruction j'ai oublié?

    Ces lignes de codes fonctionnent pourtant très bien sur Excel...

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Pour faire de l'OLE Automation, il faut que tu aies la référence de l'objet exploité pour hériter des ses propriétés, méthodes et aussi des ces constantes.

    Dans ton cas il te faut un objet Workbook avec tout ce qui faut autour...

    Argy

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Il y a pas mal de mot que j'ai pas compris...(C'est normal, je débute)

    Mais dans le cadre d'objet independant -> propriété, j'ai:
    Application OLE : Microsoft Excel 2000
    Classe Objet : Excel.Sheet.8

    Qu'est ce qu'il faut que je rajoute exactement sur mon objet ou dans mon code pour que ca marche?

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Il faut que tu fasses Référence à Excel pour pouvoir bénéficier des constantes notamment...
    Là où tu pioches, c'est que tu exploites un .Range comme si tu étais en Excel VBA.
    J'ose d'ailleurs supposer que tu as fait du copier/coller. Ce n'est pas plus mal mais autant ton code marche sous Excel, autant tel qu'il est, il ne peut pas marcher dans Access...

    Bon voilà un exemple:

    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
    Private Sub RefreshExcelObject_Click()
    Dim oWorksheet As Worksheet
    Dim oRange As Range
     
        Set oWorksheet = Me.ctlXLObject.Object.Worksheets(1)
            With oWorksheet
                Set oRange = .Range(.cells(1, 1), .cells(15, 3))
                With oRange
                    .ClearContents
                    .Borders(xlDiagonalDown).LineStyle = xlThin
                    .Borders(xlDiagonalUp).LineStyle = xlThin
                    With .Borders(xlEdgeLeft)
                        .LineStyle = xlContinuous
                        .Weight = xlMedium
                        .ColorIndex = xlAutomatic
                    End With
                End With
     
            End With
        Set oRange= Nothing
        Set oWorksheet = Nothing
    End Sub
    Argy

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Me revoila
    Après un weekend pennard...au boulot!

    Donc J'ai essayé ton code Argy et j'ai eu des erreurs de compilation.
    => type défini par l'utilisateur non défini...

    Bon, après 2-3 recherches, j'ai vu qu'il fallait activer les librairies Excel.

    Ensuite, j'ai eu des erreur d'executions
    => Impossible de modifier la propriété linestyle de la classe border

    En fait, j'avais écris le code afin de restaurer le quadrillage si l'utilisateur venait à l'effacer avec un couper coller.
    Pour limiter ce que l'utilisateur peut faire, j'ai vérouillé la feuille tout en déverouillant les cellules de travail.
    C'est le vérouillage qui était la source de la 2ème erreur.
    Microsoft ne permet pas de modifier le quadrillage d'une feuille excel vérouillée meme si les cellules sont, elles, dévérouillées Sauf lors d'un couper coller...
    Vive Billou!

    Bon, on va dire que c'est résolu!
    Merci de votre aide!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2009, 17h56
  2. [VBA] Excel dans access (utilisation d'objets excel dans access)
    Par skyarnangel dans le forum VBA Access
    Réponses: 10
    Dernier message: 02/02/2009, 10h59
  3. Insertion objet eXcel dans Word
    Par muchmorehuman dans le forum Word
    Réponses: 5
    Dernier message: 12/02/2008, 09h27
  4. [VBA-W]Atteindre une feuille d'un objet excel dans word
    Par tazamorte dans le forum VBA Word
    Réponses: 1
    Dernier message: 04/06/2007, 18h55
  5. Ecrire des valeurs dans un objet OLE Excel
    Par NewbiePower dans le forum Access
    Réponses: 4
    Dernier message: 08/02/2007, 08h59

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