Macro Excel ajout de ligne fin de tableau

sequefege Messages postés 4 Statut Membre -  
 Anonymous -
Bonjour,
J'ai créé un bouton pour ajouter une ligne à mon tableau. J'ai associé une macro qui recopie les formules de la ligne précédente. Le problème est que je ne sais pas comment indiquer qu'il faut insérer la ligne dans la première cellule vide de la colonne et ce quelle que soit ma position au moment du clic sur le bouton. Je ne sais pas non plus comment indiquer qu'il faut recopier la formule de la dernière ligne. Je ne sais que donner les références de la cellule (macro enregistrée) comme suit :

Range("A115").Select
Selection.EntireRow.Insert
Range("E114").Select
Selection.Copy
Range("E125").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Pouvez-vous m'aider SVP ?
Merci beaucoup.
Sequefege
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Ca donnerait ça:

    Sub Macro8()
    'Aller en A1
    Range("A1").Select

    'Aller à la dernière remplie (Merci Eriiic)
    [A65536].End(xlUp).Select

    'Insérer une ligne vide
    Selection.EntireRow.Insert

    'Remonter d'une ligne
    ActiveCell.Offset(-1, 0).Select

    'Quand la dernière valeur du tableau est trouvée, sélectionner le nombre de colonnes concernées (J'ai fait de A à O, au pif - à adapter, donc)
    ActiveCell.Range("A1:O1").Select

    'Recopier le contenu sur une ligne vers le bas
    Selection.AutoFill Destination:=ActiveCell.Range("A1:O2"), Type:=xlFillDefault
    End Sub

    En espérant que "Total" ne soit pas écrit en colonne A, mais son suppose que non, sinon tu ne chercherais pas la première vide???
    8
    1. sequefege Messages postés 4 Statut Membre
       
      C'est très gentil de prendre du temps pour me répondre. Malheureusement, ça ne fonctionne pas. La ligne n'est pas rajoutée en dernier mais 2 ou 3 lignes avant la dernière. De plus ce ne sont pas les formules qui sont recopiées mais la ligne entière et par conséquent les données de la ligne précédente, incrémentées de plus.

      Voici plus bas la macro que j'avais enregistrée initialement.

      Sub ajout_ligne()
      '
      ' ajout_ligne Macro
      ' Macro enregistrée le 16/03/2008 par UTILISATEUR
      ''
      Range("A113").Select
      Selection.EntireRow.Insert
      Range("A112:E112").Select
      Selection.Copy
      Range("A113:E113").Select
      Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
      Range("E112").Select
      Application.CutCopyMode = False
      Selection.Copy
      Range("E113").Select
      Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False

      Range("A114").Select
      Application.CutCopyMode = False

      End Sub

      Encore merci
      Sequefege
      0