Remplir un tableau ligne par ligne

Bonjour, il s'agit de mon premier post

Je souhaiterais faire une macro qui effectue les actions suivantes :

Lorsque je l’exécute :

  • Elle met à jour la date dans la case B12 de la feuille "calcul"
  • Elle copie la ligne 12 de A à H ("A12:H12") de la feuille "calcul"
  • Elle la colle sur la ligne 2 de la feuille "dessin" si elle est vide sinon elle la colle sur la ligne3 4 5 etc...
  • et si possible (pas obligé) mettre une limite de ligne au tableau qui se formera ainsi sur la feuille "dessin"

Voici mon code, mais il ne fonctionne pas :

Sub Actualisationdonnees()

Sheets("calcul").Range("B12") = Date 'met à jour la date dans la case B12 (ça marche)

Dim ii As Integer                              'déclaration de la variable ii

ii = Sheets("calcul").Range("B1").Value 'la variable ii prend la valeur de la case B1

Sheets("calcul").Range("A12:H12").Copy Destination:=Sheets("dessin").Range("Aii:Hii") 'copie colle la ligne 12 de la feuille "calcul" vers la ligne ii de la feuille "dessin"

Sheets("calcul").Range("B1").Value = Sheets("calcul").Range("B1").Value + 1 'on incrémente la valeur de la case B1 ce qui nous permet de conserver la valeur de ii même après fermeture du fichier.

End Sub

Je pense que la problème vient de ma variable, est-il possible d'écrire Range("Aii:Hii") ?

Merci d'avance

PS : je m'excuse de ne pas avoir mis le fichier en pièce jointe mais je ne pouvais donc pas partager les données. J'espère tout de même avoir été assez clair

Bonjour,

Sub Actualisationdonnees()
    Dim ii As Integer
    With Worksheets("calcul")
        .Range("B12") = Date
        ii = .Range("B1")
        Worksheets("dessin").Range("A" & ii).Resize(, 8).Value = .Range("A12:H12").Value
        .Range("B1") = ii + 1
    End With
End Sub

Cordialement.

Super ! merci !

on utilise

Resize (, 8)

car on copie colle 8 cases c'est bien ça ?

Rechercher des sujets similaires à "remplir tableau ligne"