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 :

Création macro_mise en forme


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
    Ingénieur développement de composants
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut Création macro_mise en forme
    Bonjour,

    Je m'appelle Amaury je suis étudiant ingénieur, et je travail pour une sociéter qui fabrique des pièces de voiture.
    On m'a confié un projet qui est d'améliorer l'utilisation d'un fichier excel. Malheureusement, je débute dans excel et tout ce qui est VBA et macro je ne m'y connais très peu voir quasiment pas. "Mais je sais me débrouiller..." → Exemple je joue sur la copie d'une ligne masquée pour avoir ce que je veux en rendu X) BIDOUILLAGE !

    Je demande votre aide concernant une macro qui me permetterait d'insérer une ligne [COLOR="#008080"]« avec une mise en forme donc des formules copier et une flèche → voir Photo » [/COLOR]à un emplacement sélectionné en appuyant sur un seul bouton.
    Pour décrire totalement ce que la macro doit faire se serait :
    - Insérer une ligne au dessus de la cellule sélectionné
    - Copier les formules de la ligne du dessus de C→AB
    - Les collers dans la ligne insérer
    - Enlever la bordure gauche de la cellule en B "+mettre en fond blanc A+B → Pas obligatoire"
    - et insérer une flèche en B

    Voici le code:


    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
    73
    74
    75
    76
    77
    78
    79
    80
     
    Sub test_macro_mise_en_forme()
    '
    ' test_macro_mise_en_forme Macro
    '
     
    '
        Rows(ActiveCell.Row).Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Range("A8:B8").Select
        Range("B8").Activate
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlMedium
        End With
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("C7:AB7").Select
        Selection.Copy
        Range("C8").Select
        ActiveSheet.Paste
        Range("B8").Select
        Application.CutCopyMode = False
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlMedium
        End With
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("L12").Select
        ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 55.7142519685, _
            207.8571653543, 202.5, 227.1428346457).Select
            Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadOpen
        With Selection.ShapeRange.Line
            .Visible = msoTrue
            .ForeColor.RGB = RGB(0, 0, 0)
            .Transparency = 0
        End With
        Range("F8").Select
    End Sub
    APERCU DE BASE
    Nom : 35363a87-5a17-49af-a802-24041cfbf877.jpg
Affichages : 219
Taille : 346,3 Ko
    APERCU FINAL
    Nom : dccccaa4-3bee-4b91-b906-1e4752840bcf.jpg
Affichages : 398
Taille : 371,3 Ko


    J'ai cherché sur vraiment pas mal de forum mais malheuresement je n'ai rien trouvé concernant les ranges pour quelles suivent une selection effectué précédement.
    Je vous remercie d'avance pour votre aide. J'espère juste que vous avez pu comprend un peu ce que je voulais haha.

    PS: J'ai mis le fichier excel en pièce jointe pour que vous puissiez voir la chose plus simplement. ONGLET → Relevé tps cycle OP
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 78
    Par défaut
    c'est bizarre que tu y arrives la première fois et ensuite non, le problème c'est que ça insère pas au bon endroit ou tu as un message d'erreur ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    Salut,

    Ton code la prochaine fois ou alors édite-le mais


    C'est beaucoup plus lisible pour ceux qui veulent d'aider....
    Pour décrire totalement ce que la macro doit faire se serait :
    - Insérer une ligne au dessus de la cellule sélectionné
    ca c bon
    - Copier les formules de la ligne du dessus de C→AB
    Idem c bon
    - Les coller dans la ligne insérer
    pareil
    - Enlever la bordure gauche de la cellule en B "+mettre en fond blanc A+B → Pas obligatoire"
    idem
    - et insérer une flèche en B
    idem c bon

    Bon en faite ce que tu veux c faire varier les "ranges" en fonction de ta cellule préalablement sélectionnée manuellement????

    Seb

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut
    C'est tout à fait ça. Les ranges me bloque les positions

    J'ai changé l'apercu du code Je ne connaissais pas ce type de balises.

  5. #5
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Par défaut
    re,
    je regarde ça dans l'après midi....

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut
    Super merci beaucoup
    j'essaye encore de mon coter en "trichant" en copiant ma flèche pour quelle arrête de m'embêter avec sa position mais j'ai du mal . Il faut vraiment que je me mette au tutoriel...

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

Discussions similaires

  1. Detecter création d'une forme
    Par JustMe dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2006, 00h48
  2. Detecter création d'une forme
    Par JustMe dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/02/2006, 23h18
  3. Réponses: 1
    Dernier message: 09/02/2006, 10h11
  4. [C++] débutant création d'une form
    Par TERRIBLE dans le forum C++
    Réponses: 7
    Dernier message: 10/10/2005, 12h23
  5. [D7] Création dynamique de Form
    Par jer64 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 03/08/2003, 12h20

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