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 :

Probleme de police [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut Probleme de police
    Bonjour voila j'ai fait une petite procédure me permettant de copier le style d'écriture d'une cellule a une autre. j'ai juste un petit probleme.

    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
     
    Public Sub CopieStyle(ByVal Cible As Range, ByVal Origine As Range)
    Dim DefBorder(0 To 5) As Integer
        DefBorder(0) = xlEdgeBottom
        DefBorder(1) = xlEdgeLeft
        DefBorder(2) = xlEdgeTop
        DefBorder(3) = xlEdgeRight
        DefBorder(4) = xlDiagonalDown
        DefBorder(5) = xlDiagonalUp
        With Cible
            .HorizontalAlignment = Origine.HorizontalAlignment
            .VerticalAlignment = Origine.VerticalAlignment
     
            If Origine.Interior.Color <> rgbWhite Then
                .Interior.Color = Origine.Interior.Color
            End If
     
            With .Font ' Définition de la police
                .Name = Origine.Font.Name
                .Size = Origine.Font.Size
                .Color = Origine.Font.Color
                .Bold = Origine.Font.Bold
                .Background = Origine.Font.Background
                .FontStyle = Origine.Font.FontStyle
                .Italic = Origine.Font.Italic
                .Underline = Origine.Font.Underline
            End With
     
            For i = 0 To 5 ' Définition des bordures
                With .Borders(DefBorder(i))
                    .Weight = Origine.Borders(DefBorder(i)).Weight
                    .Color = Origine.Borders(DefBorder(i)).Color
                    .LineStyle = Origine.Borders(DefBorder(i)).LineStyle
                End With
            Next i
        End With
    End Sub
    Premier probleme le .Font.size renvoie toujours 11.
    je ne peu pas récupérer la taille de ma police sur la cellule. celle-ci est toujours de 11...

    Deuxieme Probleme. j'aimerai savoir si la police a été tourner verticalement ou pas.je ne sais pas avec quel fonction par contre =/

    Merci d'avance a tous pour vos réponses

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai testé ton code et il colle bien dans la cellule cible, la taille de la police copiée de la cellule d'origine.
    Je n'ai pas regardé tout ton code mais n'est -ce pas ce que fait nativement le Copier/CollageSpecial - Format ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    J'aime pas le Copier/CollageSpecial - Format ?

    il nécessite un ".select" et en plus utilise le presse-papier
    Ce qui n'est pas très propre (à mon gout)

    Je vais essayer avec une autre feuille excel juste ne l'appelant dans une macro =/

    la procédure est dans ThisWorkBook j’espère que ce n'est pas sa qui pose probleme?

    Edit : je viens de copié le code dans un autre classeur. appel par bouton sur une procédure qui appel ma procédure de style. (la taille de police est bien renseigné) =/


    j'ai donc changé de fichier XLSx c'est rentrée dans l'ordre ...

    Sinon quelqu'un connait-il la propriété qui permet d'incliné le texte sur dans une cellule de classeur excel?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut Ma seule certitude, c'est le doute (Pierre Desproges)
    Bonsoir,
    Citation Envoyé par Silerys Voir le message
    J'aime pas le Copier/CollageSpecial - Format ?
    il nécessite un ".select" et en plus utilise le presse-papier
    Ce qui n'est pas très propre (à mon gout)
    Je ne sais pas où tu vas chercher ce genre d'affirmation, parce-que je ne connais aucun code VBA pour Excel qui nécessite la méthode Select pour modifier la propriété d'une cellule ou d'une plage de cellules.

    Voici un code VBA qui fait un Copier/Collage Special - Format sans l'once d'un Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A2").Copy
    Range("D2").PasteSpecial Paste:=xlPasteFormats
    Que l'on peut bien entendu intégrer dans ta procédure CopieStyle
    Ta procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub CopieStyle(ByVal Cible As Range, ByVal Origine As Range)
     Origine.Copy
     Cible.PasteSpecial Paste:=xlPasteFormats
    End Sub
    Un exemple d'appel de ta procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub t()
     CopieStyle Range("D2"), Range("A2")
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 28
    Par défaut
    Merci
    j'ai a peu prêt ma réponse.

    Ceci dit. le copier coller n'est pas propre car utilise le presse-papier a l'insu de l'utilisateur qui avait peut être sauvegarder des données dedans. Mais je ne voudrais pas te vexer.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    Tu ne me vexes pas du tout, je n'ai pas de problème d'égo particulier.
    J'essaie tout simplement de faire partager très modestement l'expérience que j'ai d'un développement VBA et d'Excel.
    Pour aller en vacances, il y a des gens qui prennent les nationales, d'autres les autoroutes et d'autres encore qui font la route en prenant trois fois plus de temps mais qui le font en rêvant. Finalement chacun arrive à destination.
    C'est vrai que je privilégie les outils d'excel.
    Alors dans ton cas, si l'utilisateur utilise le pinceau, entre le moment où il fait un Copier et un Coller, il aura le même problème que s'il utilise un code VBA tel que je te l'ai proposé. Ceci-dit, il y a moyen de récupérer le contenu du presse-papier par programmation et le restituer.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Probleme changement police de caractere
    Par winnyzeboss1 dans le forum Interfaces Graphiques en Java
    Réponses: 11
    Dernier message: 07/03/2006, 10h55
  2. Problème de police de caractères
    Par Matthieu Brucher dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/02/2006, 10h29
  3. probleme lissage police ecran ... help!
    Par clicman dans le forum Windows XP
    Réponses: 2
    Dernier message: 22/02/2006, 00h08
  4. Réponses: 1
    Dernier message: 08/11/2005, 09h03
  5. [html] probleme de police
    Par aldorado_one dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/05/2005, 13h34

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