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

Macros et VBA Excel Discussion :

Erreur d'exécution '1004' lors d'une mise en page


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut Erreur d'exécution '1004' lors d'une mise en page
    bonjour à tous,

    Voilà je voudrais faire une mise en page,
    mais lors mon exécution j'ai une Erreur d'exécution '1004'
    Impossible de définir la propriété Line Style de la classe Border

    La ligne renvoyée est celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .LineStyle = xlContinuous
    ce qui est bizard, c'est que cette erreur n'apparait qu'une fois lors de ma première exécution, après la mise en page est bonne.

    voici mon code de mise en page (en rouge la ligne ou ca bloque)
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
        'mise en page de la feuille composant manquant
            sh.Range("A1").Select
        Selection.Font.Bold = True
        Columns("A:A").EntireColumn.AutoFit
        Cells.Select
        With Selection.Interior
            .ColorIndex = 2
            .Pattern = xlSolid
        End With
        sh.Range("A1").Select
        Selection.Interior.ColorIndex = 37
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlMedium
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlMedium
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlMedium
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlMedium
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
    J'ai toujours la possibilité de mettre un Goto line sur l'erreur pour la première exécution, en espérant que personne ne remarque les mise en page d'ifférente

    quelqu'un a t-il une idée?
    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Citation Envoyé par alex.a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sh.Range("A1").Select
    '...
    Range(Selection, Selection.End(xlDown)).Select
    '...
    With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
    End With
    Bah apparemment tu ne sélectionnes des cellules que dans une seule colonne, pas étonnant qu'il n'y ait pas de bordures verticales inter-colonnes (xlInsideVertical)...

    Rem. au départ tu travailles avec une feuille Sh que tu appelles plusieurs fois, puis après tu l'oublies... C'est dommage ça aurait permis de se passer de tous ces Select et Selection...

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Merci dadavyvy pour ta réponse,
    je vais regarder ça, donc si je sélectionne qu'une colonne je ne peux pas faire de quadrillage en vba parce qu'il n'y ait pas de bordures verticales inter-colonnes (xlInsideVertical). Manuellement pourtant ça marche

    merci pour ta remarque j'y avais pas pensé.

Discussions similaires

  1. [XL-2007] erreur d'exécution 1004 lors de protection de feuille
    Par free air dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/10/2012, 17h19
  2. Erreur d'execution 1004 (formule dans une cellule mise à partir du code)
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/04/2009, 11h04
  3. Firebird : Erreur lors d'une mise a niveau.
    Par TryExceptEnd dans le forum Administration
    Réponses: 4
    Dernier message: 24/10/2008, 20h18
  4. Réponses: 7
    Dernier message: 21/06/2007, 11h27
  5. Réponses: 2
    Dernier message: 20/04/2006, 17h53

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