Rapport de message :*
 

Re: Macro pour reproduire les données d'une plage sur d'autres

Titre du sujet : Re: Macro pour reproduire les données d'une plage sur d'autres
par JeanMarie le 21/09/2011 12:51:05

Bonjour floka, Didier, Myta, le forum

Houlala !!! pas de données confidentielles dans les fichiers pour exemple, pas de fichier sur ci-joint ou autres, dans quelques jours, ton fichier ne sera plus accessible. Ceux et celles qui voudront comprendre la résolution de ton problème, n'auront plus la base de départ. Tu as largement de place avec 80K pour donner un fichier avec un exemple assez conséquent pour expliquer ton problème.

Dans la partie calcul de la valeur de la ligne, tu as :
      - la ligne de départ 
      - index dans la boucle qui est multiplie par le nombre de lignes que sépare chaque "formulaire"
Donc, 15 est bien la ligne de départ de la plage à copier (A15:G20), le nombre de ligne entre chaque formulaire est de 59 (ligne 74 - ligne 15)

Voilà le code.
Sub Traitement()
Dim I As Long
    Application.ScreenUpdating = False
    Range("A15:G20").Copy
    For I = 1 To 795
        Range("A" & (I * 59) + 15).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
    Next I
    Application.ScreenUpdating = True
End Sub

J'ai lancé le code sur 5 "formulaire", tu trouveras sur les 4 premiers un décalage correct, et ensuite un décalage de 2 lignes, je te laisse découvrir et corriger la cause de se décalage, mais je peux t'assurer que le code n'en est pas la cause.

@+Jean-Marie