> Tous les forums > Forum Bureautique
 copier avant derniere ligne en vbaSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
vieuxmonsieur
  Posté le 28/03/2007 @ 21:20 
Aller en bas de la page 
Astucien

bonsoir à vous,

m'initiant au vba, j'ai un code qui me copie la derniere ligne d'un tableau et la colle à la suite de ce tableau (ca me rajoute une ligne dont le nombre de colonne varie). j'apprecierai d'obtenir maintenant le code vba permettant de copier l'avant dernière ligne (ligne 25) et coller les formules dans la dernière ligne (ligne 26). en esperant avoir été suffisamment explicite.

Je me résume :

copie de la dernière ligne du tableau (par exemple ligne 25)

collage à la suite de mon tableau (ligne 26)

effacement des données de ma ligne 26,

copie de l'avant dernière ligne ( ligne 25)

collage des formules sur ma dernière ligne (ligne 26)

en vous remerciant de tout coeur

Publicité
Bérylion
 Posté le 28/03/2007 à 21:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut, et bienvenu à toi

le mieux aurait été que tu publies ton code sur le forum, mais bon on va faire sans...

si j'ai bien tout compris, tu devrais pouvoir y arriver avec ce code :

Sub test()
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

ça résume un peu mais on peut toujours adapter si besoin...

vieuxmonsieur
 Posté le 29/03/2007 à 08:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour

je vous remercie de votre réponse que j'essayerai plus tard, étant très pris aujourdhui

en vous souhaitant une bonne journée

vieuxmonsieur
 Posté le 29/03/2007 à 21:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonsoir monsieur beryllion,

je vous remercie de l'aide que vous m'apportez et vous remercie bien davantage si vous voulez bien corriger le code à la ligne concernée, car je désirerai que seul, les formules de laligne soient recopiées

Sub AjoutLign()
'Sélection de la dernière ligne du tableau
Range("A1").CurrentRegion.Rows(Range("A1").CurrentRegion.Rows.Count).Copy
'Ajout de la copie à la suite du tableau
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
'Effacement des données copiées
Selection.ClearContents
'Copie de l'avant dernière ligne du tableau
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Copy
'Collage des formules seulement de l'avant dernière ligne

Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial 'ICI ca ne va pas

'Sélection de la cellule A3
Range("A3").Select
End Sub

en vous souhaitant ce qu'il y a de meilleur pour vous

galopin01
 Posté le 30/03/2007 à 04:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

(blabla).PasteSpecial Paste:=xlPasteFormulas

A+

vieuxmonsieur
 Posté le 30/03/2007 à 08:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour monsieur galopin01

j'ai modifié selon votre réponse, hélas, j'ai toujours les données de la ligne qui sont présentes alors que je souhaiterai seulement que les formules soient recopiées. je ne comprends pas.

merci à vous et bonne journée

galopin01
 Posté le 30/03/2007 à 20:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonsoir,
Sorry j'ai lu un peu en diagonale et comme le code me paraissait un peu confus, j'ai répondu (une ânerie) sans tester.
Dans la pratique on évite ce genre d'usine à gaz :

Soit on fait une macro qui insère une nouvelle ligne, juste avant d'écrire sur la dernière ligne.
soit (encore plus simple), on copie une ligne avec juste les formules, masquée.

Si ça t'intéresse tu le dis, sinon pour ce qui est d'améliorer ton code, pour moi c'est un peu nébuleux.

A+

vieuxmonsieur
 Posté le 31/03/2007 à 19:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonsoir galopin01,

merci de bien vouloir m'aider, car je n'y connais rien, j'ai obtenu ces codes sur le net.

j'aimerai obtenir ce que je demandais, car les colonnes se rajoutent de temps en temps , ce qui m'aurait permis de copier selon la dernière ligne en cours. ce que je ne comprends pas c'est poursuoi le collage spécial "formule" colle aussi le texte...

en vous remerciant

galopin01
 Posté le 31/03/2007 à 23:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonsoir,
Voici une petite démo sur ce thème.

A+



Modifié par galopin01 le 19/04/2007 08:52
Publicité
vieuxmonsieur
 Posté le 01/04/2007 à 00:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour galopin01

un grand merci pour ton aide plus qu'efficace

au plaisir de te retrouver pour d'autres questions

bon dimanche

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
copier ligne si cellule vide
copier une ligne feuille 1 pour remettre feuille2
Macro Copier ligne vers un autre fichier
Copier une série de ligne avec deux conditions
Aller à la dernière ligne
La dernière ligne s'imprime à moitié (Résolu)
Renvoi à la dernière cellule non vide d'une ligne
excel2003 : Copier coller une hauteur de ligne ?
Recherche de la dernière valeur d'une ligne
copier des éléments d'une ligne en colonne
Plus de sujets relatifs à copier avant derniere ligne en vba
 > Tous les forums > Forum Bureautique