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 :

[E-03] Insertion d'une ligne en conservant les formules existantes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Par défaut [E-03] Insertion d'une ligne en conservant les formules existantes
    Bonjour à tous,

    J'ai besoin de votre aide car je dois développer un outil nécessitant beaucoup de VBA, mais je suis ultra-débutant (ne maîtrisant que le langage MAtlab).

    Ma première requête sera assez simple.

    Je souhaite pouvoir introduire une ligne en utilisant la fonction "Insert" habituelle (sans passer par VBA donc), et que la nouvelle ligne créée contienne les formules déjà existantes dans le tableau.

    Pour des raisons d'ordre pratique, je ne peux pas le réaliser en "manuel" (copier une ligne,puis utiliser "Insert copied cells").

    Je me doute que l'utile ce serait une macro qui s'active automatiquement lors de l'insertion d'une ligne, mais c'est au-dessus de mes compétences.

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Par défaut
    Tentative personnelle :

    Voici la macro que je viens d'enregistrer et qui effectue la copie des formules à partir de la ligne se trouvant au dessus de la ligne insérée (obligatoirement dans ce sens car la formule n'est plus correcte si je copie par le dessous).

    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
    ActiveCell.Offset(-1, 0).Range("A1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:A2").Select
        ActiveCell.Offset(0, 3).Range("A1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:A2").Select
        ActiveCell.Offset(0, 2).Range("A1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:A2").Select
        ActiveCell.Offset(0, 2).Range("A1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:A2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:A2").Select
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        ActiveCell.Offset(0, 4).Range("A1:C1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:C2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:C2").Select
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 9
        ActiveCell.Offset(0, 4).Range("A1:C1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:C2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:C2").Select
        ActiveCell.Offset(0, 4).Range("A1:C1").Select
        Selection.AutoFill Destination:=ActiveCell.Range("A1:C2"), Type:= _
            xlFillDefault
        ActiveCell.Range("A1:C2").Select
        ActiveWindow.ScrollColumn = 10
    Peut-être cela servira-t-il à une base de travail pour les bienfaiteurs qui me viendront en aide. Peut-être ne reste-t-il qu'à ajouter la commande pour l'exécution automatique de la macro lors d'une insertion de ligne?

    Merci d'avance pour votre aide

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

Discussions similaires

  1. Insérer une ligne en recopiant les formules et mise en forme
    Par mogo107 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/06/2013, 22h05
  2. [XL-2003] Insertion d'une ligne avec recopie des formules ?
    Par OtObOx dans le forum Excel
    Réponses: 6
    Dernier message: 31/03/2012, 22h00
  3. supprimer une ligne sans influencer les formules
    Par macpascal dans le forum Excel
    Réponses: 1
    Dernier message: 11/06/2009, 23h23
  4. Insertion d'une ligne vide entre les totaux
    Par Prekestolen dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/03/2009, 16h17
  5. Insérer une ligne sans modifier les formules
    Par coup dur dans le forum Excel
    Réponses: 2
    Dernier message: 17/03/2008, 11h02

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