Les Allergies
Alimentaires
Posez votre question Signaler

Macro Excel ajout de ligne fin de tableau

sequefege 4Messages postés 19 mars 2008Date d'inscription - Dernière réponse le 19 mars 2008 à 22:44
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
Lire la suite 

Macro Excel ajout de ligne fin de tableau »

9 réponses
Réponse
+5
moins plus
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???
sequefege- 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
Ajouter un commentaire
Réponse
+3
moins plus
Bonsoir,

Pour atteindre la dernière cellule remplie de la colonne A on peut aussi faire :
[A65536].End(xlUp).Select

eric
Ajouter un commentaire
Réponse
+3
moins plus
c'est l"équivalent de Ctrl fleche-haut sur une feuille.
Ajouter un commentaire
Réponse
+1
moins plus
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/03/2008 par LatelyGeek

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

'Tester si la cellule de dessous est vide, si non descendre d'une ligne
While ActiveCell.Offset(1, 0).Value <> ""
ActiveCell.Offset(1, 0).Select
Wend

'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
sequefege- 19 mars 2008 à 21:17
Merci pour ta réponse.
Je viens d'essayer mais ce n'est pas tout à fait ce que je voudrais faire. Je crois que la première partie est OK, je peux retrouver la dernière ligne saisie.par contre après, je veux insérer une ligne car mon tableau est "fermé" (total à la fin) puis recopier sur la ligne insérée les formules de la dernière ligne saisie (avant le total).
Si tu peux m'aider sur ce problème ça me rendrait bien service.
Merci.
Sequefege
Ajouter un commentaire
Réponse
+1
moins plus
Je ne comprends pas pourquoi la nouvelle ligne ne se met pas à la fin, mais par contre, que tu fasses une copie comme la mienne ou un collage spécial, les données sont recopiées aussi!!!!
sequefege- 19 mars 2008 à 22:44
Dans ma recopie, je fais un copier/collage spécial formules et je n'ai que la formule qui se recopie, pas les données. Pour l'insertion de ligne, je ne vois pas pourquoi ça ne marche pas non plus.
Sequefege
Ajouter un commentaire
Réponse
+0
moins plus
Je connaissais pas!!!!!
Ajouter un commentaire
Ce document intitulé « Macro Excel ajout de ligne fin de tableau » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?