[Excel] Macro de copie de lignes

Fermé
Mickily - 14 mai 2008 à 16:06
michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 - 14 mai 2008 à 17:09
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

4 réponses

Castor Messages postés 17747 Date d'inscription mardi 3 juillet 2001 Statut Modérateur Dernière intervention 11 mars 2015 136
14 mai 2008 à 16:14
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
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 17747 Date d'inscription mardi 3 juillet 2001 Statut Modérateur Dernière intervention 11 mars 2015 136
14 mai 2008 à 16:58
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 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 3 292
14 mai 2008 à 17:09
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