Macro Excel ajout de ligne fin de tableau

Fermé
sequefege Messages postés 4 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 19 mars 2008 - 19 mars 2008 à 20:30
 Anonymous - 15 déc. 2016 à 09:59
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

7 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
19 mars 2008 à 21:35
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
sequefege Messages postés 4 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 19 mars 2008
19 mars 2008 à 22:21
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