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 :

Ajouter une nouvelle ligne sous la cellule actuellement sélectionnée


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 22
    Points
    22
    Par défaut Ajouter une nouvelle ligne sous la cellule actuellement sélectionnée
    Bonsoir à tous,

    Voici le code que j'essai de triturer, mais quoid qu'il se passe, la ligne qui vas être créer par cette macro est toujours créer au dessus de la cellule qui as le focus.

    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
     
    Sub New_case()
    '
    ' Touche de raccourci du clavier: Ctrl+l
    '
        Dim LineRef As Integer
        Dim DefSelectZone As String
     
        LineRef = ActiveCell.Row
        DefSelectZone = "A" & LineRef & ":D" & LineRef
        Rows(ActiveCell.Row).Select
        Selection.Insert Shift:=xlUp
        Selection.Rows.AutoFit
     
        'Définition de la zone pour la paramétrage des cellules
        Range(DefSelectZone).Select
        'paramétrage du format des celules de la zone sélectionnée
        Selection.NumberFormat = "General"
        Selection.Interior.ColorIndex = xlNone
        Selection.Font.Bold = False
     
        'Ne pas oublier d'optimiser la construction des bordures.
        Selection.BorderAround xlContinuous, xlThin, xlAutomatic
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
     
        'Formatage spécifique des colonnes [N° Scénario] et [N°Bug ou OK]
        Range("A" & LineRef & ",D" & LineRef).Select
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .ReadingOrder = xlContext
            .Font.FontStyle = "Bold"
            .MergeCells = False
            .WrapText = True
        End With
     
        'Formatage Spécifique des colonnes [Scénarios] et [Résultats]
        Range("B" & LineRef & ",C" & LineRef).Select
        With Selection
            .HorizontalAlignment = xlLeft
            .VerticalAlignment = xlTop
            .ReadingOrder = xlContext
            .MergeCells = False
            .WrapText = True
        End With
     
        'Appelle la procédure Numerotation_auto, pour renumérotés l'ensemble des cas de tests
        'après l'ajout de la nouvelle ligne.
        Call Numerotation_Auto
     
    End Sub
    Mon problème est que je voudrais que cette ligne soit créer en dessous.

    Je recherche un peu d'aide pour débugger et optimiser

    Merci de votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonsoir à tous

    Essaie ceci :

    A la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rows(ActiveCell.Row).Select
        Selection.Insert Shift:=xlUp
    Tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(LineRef + 1).Insert Shift:=xlUp
    si j'ai bien compris ta question

    Eric

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    C'est parfait comme cela, j'ai aussi ajouter des LineRef + 1 à d'autres endroits de la procédure, pour que l'on se retrouve directement sur la nouvelle ligne.

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

Discussions similaires

  1. Ajout une nouvelle ligne dans DataSet
    Par FITRI dans le forum C#
    Réponses: 2
    Dernier message: 10/12/2011, 10h12
  2. Ajouter une nouvelle ligne à chaque saisie de données
    Par etincelle01 dans le forum Langage
    Réponses: 5
    Dernier message: 09/05/2010, 19h32
  3. Ajouter une nouvelle ligne avec les calculs
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2009, 10h19
  4. message "Vous allez ajouter une nouvelle ligne"
    Par Rizel dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/09/2007, 14h10
  5. Réponses: 7
    Dernier message: 11/06/2007, 20h39

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