[Excel] Macro de copie de lignes

Mickily -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un souci dans mes macros.
Voici mon but je voudrais que quand je clique sur un bouton, Excel copie et colle les données de la ligne 1 uniquement les valeurs et le format dans la ligne 3 (du fait quand la ligne 1 sera réinitialisée les valeurs de la ligne 3 seront conservées).

Cependant je voudrais que quand je remette des valeurs différentes dans la ligne 1 je souhaiterai avec le bouton faire la même chose que précédent (copie et colle) mais à la suite (donc ligne 4) puis 5,6,7,8,9. A chaque il faut ajouter ou incrémenter une ligne. Je ne sais pas comment faire.

Actuellement il m'écrase les données. Merci d'avance c'est pour le travail.

Cordialement
A voir également:

4 réponses

Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   170
 
Salut
Peux-tu nous mettre une copie de ton code ici? Cela sera plus facile de débugger un code existant que de partir de zéro
0
Mickily
 
C'est juste une macro vu que j'y connait pas grand chose


Sub Bouton2_QuandClic()
'
' Bouton2_QuandClic Macro
' Macro enregistrée le 14/05/2008 par PAU
'

'
Range("A7:BF7").Select
Selection.Copy
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A11").Select

End Sub

Merci d'avance
0
Castor Messages postés 17881 Date d'inscription   Statut Modérateur Dernière intervention   170
 
Sub Bouton2_QuandClic()
'
' Bouton2_QuandClic Macro
' Macro enregistrée le 14/05/2008 par PAU
'

'
Range("A7:BF7").Select

Sélectionne la ligne 7 (tu parlais pas de la 1 ?)
Selection.Copy
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Colle tout dans la ligne 10
Range("A11").Select

End Sub 

Puis sélectionne la ligne 11

Jamais tu ne change la ligne d'arrivée.
Il te faudrait une boucle du style (j'ai plus la syntaxe exacte en VBA)
$ligne = 10   (ligne de départ)
while cell("A".$ligne) is not empty
$ligne = $ligne+1
loop
Range("A" . $ligne).Select

Que tu mets après ton "Selection.Copy"

Ce ne sont que des pistes, pas du code "tel quel"
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

Sub copierligne()
Dim derlig As Long
derlig = Columns(1).Find("", Range("A9")).Row
Range("A7:BF7").Copy Range("A" & derlig & ":BF" & derlig)
End Sub
0