[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
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. 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
  2. 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
  3. 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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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