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 :

Mise en forme d'une zone de texte via VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien R&D
    Inscrit en
    Juin 2020
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2020
    Messages : 33
    Points : 31
    Points
    31
    Par défaut Mise en forme d'une zone de texte via VBA
    Bonjour à tous,
    J'ai une macro qui crée des zones de texte, que je souhaite mettre en forme directement dans le code mais je n'y arrive pas ><
    J'ai constament une erreur quand le code s'exécute et je ne comprends pas d'où ça vient ...
    Je m'arrache les cheveux là dessus, pouvez-vous m'aider ?
    Le code qui ne fonctionne pas est le suivant :
    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
    Set boxepaisseur = Sheets(Onglet).Shapes.AddTextbox(msoTextOrientationHorizontal, _
                        ActiveCell.Offset(0, 4).Value + (Fac3 * EpMoy) * (Fac3 * 1.5), _
                        ActiveCell.Offset(0, 5).Value + (Fac4 * EpMoy) * (Fac4 * 1.5), _
                        10, 20)
                        With boxepaisseur.TextFrame
                            .Characters.Text = EpMoy & " µm"
                            .AutoSize = True
                        End With
                        With boxepaisseur.ShapeRange
                            .Fill.ForeColor.RGB = RGB(255, 255, 255)
                            .Line.Weight = 1.25
                            .Line.ForeColor.RGB = RGB(188, 68, 207)
                        End With
                        With boxepaisseur.Font
                            .Bold = True
                            .ColorIndex = 7
                            .Size = 14
                        End With
    Ca coince au 2ème With
    Merci par avance pour votre aide.
    Bonne journée à tous

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Supprime .ShapeRange.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien R&D
    Inscrit en
    Juin 2020
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2020
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Merci le 2ème With passe mais maintenant ça bloque au dernier ><

  4. #4
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    J'ai modifié certaines couleurs.

    Essaye ceci :
    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
        Set boxepaisseur = Sheets(Onglet).Shapes.AddTextbox(msoTextOrientationHorizontal, _
        ActiveCell.Offset(0, 4).Value + (Fac3 * EpMoy) * (Fac3 * 1.5), _
        ActiveCell.Offset(0, 5).Value + (Fac4 * EpMoy) * (Fac4 * 1.5), _
        10, 20)
        With boxepaisseur
            With .TextFrame
                .Characters.Text = EpMoy & " µm"
                .AutoSize = True
            End With
            With .TextFrame2.TextRange.Font
                .Bold = True
                .Fill.ForeColor.RGB = RGB(255, 0, 0)
                .Size = 14
            End With
            With .Fill
                .ForeColor.RGB = RGB(0, 255, 255)
            End With
            With .Line
                .Weight = 1.25
                .ForeColor.RGB = RGB(188, 68, 207)
            End With
        End With
    Cordialement,
    Franck

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien R&D
    Inscrit en
    Juin 2020
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2020
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Merci à vous deux, en combinant vos réponses j'ai le code suivant qui tourne nickel :
    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
    Set boxepaisseur = Sheets(Onglet).Shapes.AddTextbox(msoTextOrientationHorizontal, _
                        ActiveCell.Offset(0, 4).Value + (Fac3 * EpMoy) * (Fac3 * 1.5), _
                        ActiveCell.Offset(0, 5).Value + (Fac4 * EpMoy) * (Fac4 * 1.5), _
                        10, 20)
                        With boxepaisseur.TextFrame
                            .Characters.Text = EpMoy & " µm"
                            .AutoSize = True
                        End With
                        With boxepaisseur
                            .Fill.ForeColor.RGB = RGB(255, 255, 255)
                            .Line.Weight = 1.25
                            .Line.ForeColor.RGB = RGB(188, 68, 207)
                        End With
                        With boxepaisseur.TextFrame2.TextRange.Font
                        .Bold = True
                        .Fill.ForeColor.RGB = RGB(255, 0, 0)
                        .Size = 14
                        End With
    Vous avez sauvé pas mal de mes cheveux merci beaucoup !

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

Discussions similaires

  1. [AC-2007] Mise en forme d'une zone de texte.
    Par l.flipper dans le forum IHM
    Réponses: 4
    Dernier message: 01/08/2012, 18h29
  2. [AC-2003] mise en forme d'une zone de liste
    Par FHDLB dans le forum IHM
    Réponses: 1
    Dernier message: 18/05/2012, 17h38
  3. [Toutes versions] Macro mise en forme d'une zone de texte dans ppt
    Par charlie20 dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 19/09/2010, 12h35
  4. Réponses: 5
    Dernier message: 02/01/2007, 15h19
  5. Personnalisation de la forme d'une zone de text
    Par djquikanas dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/04/2006, 15h36

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