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 :

VBA Excel : creation de style


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut VBA Excel : creation de style
    Bonjour,
    2 questions au sujet de la craetion de styles :

    1 - la doc de VB indique que l'argument BasedOn de la methode Add est facultative. Pourtant si je ne le spécifie pas, j'ai une erreur d'execution.... Pourquoi ?

    2 - Il ne semble pas possible de créer des styles et de protéger la feuille en même temps. Ni même de déprotéger - créer le style - et reprotéger la feuille (cf code ci). Il se produit une erreur 1004.
    Pourquoi ?

    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
     
    ActiveSheet.Unprotect 
     
        ActiveWorkbook.Styles.Add Name:="st_Title", _ 
            BasedOn:=ActiveCell 
     
        With ActiveWorkbook.Styles("st_Title") 
            .Font.Name = "Times New Roman" 
            .Font.Size = 14 
            .Font.Bold = True 
            .HorizontalAlignment = xlCenter 
            .Borders(xlEdgeRight).LineStyle = xlContinuous 
            .Borders(xlEdgeLeft).LineStyle = xlContinuous 
            .Borders(xlEdgeBottom).LineStyle = xlContinuous 
            .Borders(xlEdgeTop).LineStyle = xlContinuous 
        End With 
    ActiveSheet.protect
    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Hello,

    A tout hasard, as-tu essayé ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        With ActiveWorkbook.Styles.Add(Name:="st_Title")
            .Font.Name = "Times New Roman"
            .Font.Size = 14
            .Font.Bold = True
            .HorizontalAlignment = xlCenter
            .Borders(xlEdgeRight).LineStyle = xlContinuous
            .Borders(xlEdgeLeft).LineStyle = xlContinuous
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Borders(xlEdgeTop).LineStyle = xlContinuous
        End With
    Inspiré de l'aide Excel

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    Oui, et j'ai une erreur : Impossible de lire la propriété "Add de la classe Styles"...

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je n'ai pas d'erreur avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With Application
        With .ActiveWorkbook.Styles.Add(Name:="st_Title")
            .Font.Name = "Times New Roman"
            .Font.Size = 14
            .Font.Bold = True
            .HorizontalAlignment = xlCenter
            .Borders(xlEdgeRight).LineStyle = xlContinuous
            .Borders(xlEdgeLeft).LineStyle = xlContinuous
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Borders(xlEdgeTop).LineStyle = xlContinuous
        End With
    End With
    Tu dis

  5. #5
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    J'ai l'erreur suivante :" impossible de définir la propriété Name de la classe Font"...

  6. #6
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    Et j'ai toujours la première erreur : Impossible de lire la propriété "Add de la classe Styles"...

    C'est vraiment surprenant car complétement contradictoire avec l'aide Excel

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Oui, effectivement, surtout que j'ai essayé et que je n'ai pas de pb avec le dernier code donné.
    Supprime le style "st_Title"(certainement déjà créé) dans Excel (Format->Style...)
    Ferme Excel et relance

    Tu dis

  8. #8
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    J'ai fais cez que tu m'as recommandé : suppression du style , fermeture Excel. Mais Toujours le même pb : propriété Add non reconnue. Si j'ajoute le BasedOn , ça passe !!

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Chez moi, Time ne prend pas de s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            .Font.Name = "Time New Roman"
    et non
    .Font.Name = "Times New Roman"
    Tu dis

    A+

    NB - Sinon, je ne vois pas

  10. #10
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    Helas toujours la même réponse .... Pourtant je suis bien VB6.0

  11. #11
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    Je viens de faire l'essai dans un autre fichier excel et cela fonctionne...
    Alors que ce passe t il avec celui ci ?
    Cela peut t-il provenir du fait que le Microsoft Scriting Runtime est activé (j'utilise la class Dictionnary)?

    Ou bien du fait que ma création de styles est placée dans une fonction que j'appelle via Call ?
    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
     
    Function Define_styles()
       ActiveWorkbook.Unprotect
     
        ActiveWorkbook.Styles.Add Name:="st_Title", _
            BasedOn:=ActiveCell
        With ActiveWorkbook.Styles("st_Title")
            .Font.Name = "Times New Roman"
            .Font.Size = 14
            .Font.Bold = True
            .HorizontalAlignment = xlCenter
            .Borders(xlEdgeRight).LineStyle = xlContinuous
            .Borders(xlEdgeLeft).LineStyle = xlContinuous
            .Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Borders(xlEdgeTop).LineStyle = xlContinuous
        End With
     
        ActiveWorkbook.Styles.Add Name:="st_Rubric", _
            BasedOn:=ActiveCell
        With ActiveWorkbook.Styles("st_Rubric")
            .Font.Name = "Times New Roman"
            .Font.Size = 10
            .Font.Bold = True
            .HorizontalAlignment = xlLeft
            .IncludeBorder = False
        End With
     
    End Function

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Désolé mais je n'ai plus d'idée.

    Il y aura bien quelqu'un pour répondre à ta dernière question. En dehors de VBA, je suis pas bon du tout.

    Bonne chance

    A+

Discussions similaires

  1. VBA excel creation de controle dans une form
    Par arkhamon dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/05/2012, 10h39
  2. creation interface de requete ou formulaire utilisateur sous VBA Excel
    Par phicel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/03/2009, 18h42
  3. {VBA Excel}Questions sur la creation graphique
    Par ferronimus dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/08/2007, 10h37
  4. [VBA] Excel:Creation d'un menu ...
    Par le_sonic dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/12/2005, 14h09

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