Effacer plage avec repetion

Bonjour a tous

Je suis novice sur VBA et mon problème est le suivant.

Je voudrais effacer automatiquement à partir d'un bouton:

2 plages de cellules (G5:I73) et (K5:P74)

Ces deux plages se répètent tous les 92 lignes et cela 20 fois

donc les plages sont les suivantes:

(G96:I164) et (K96:P165)

(G187:I225) et (K187:P226)

Dernière plage : (G1285:I1893) et (K1825:P1893)

Ensuite pour terminer, il faudrait copier systématiquement :

(G75:I88) en (G5:I18) et (K75:L88) en (K5:L18)

(G166:I179) en (G96:I109) et (K166:L179) en (K96:L109)

(G1895:I1908) en (G1285:I1838) et (K1895:L1908) en (K1285:L1838)

merci beaucoup d'avance.

KTM91300

Bonjour et bienvenu(e)

Ce n'est pas toutes les 92 lignes mais les 91 lignes

Pas d'accord du tout avec la 3ème estimation de la zone à effacer, tu annonces (G187:I225) et (K187:P226)et moi j'ai G187:I255,K187:P256

Et pour la fin tu annonces (G1285:I1893) et (K1825:P1893) et moi je trouve G1734:I1802,K1734:P1803

Et pour la copie, dernière zone (G1895:I1908) en (G1285:I1838) et (K1895:L1908) en (K1285:L1838) moi je trouve G1804:I1817 en G1734 et K1804:L1817 en K1734

Donc à bien vérifier

Sub Boulot()
Dim I As Integer

  For I = 0 To 19
    Range("G" & 5 + (91 * I) & ":I" & 73 + (91 * I) & ",K" & 5 + (91 * I) & ":P" & 74 + (91 * I)).ClearContents
    Range("G" & 75 + (91 * I) & ":I" & 88 + (91 * I)).Copy Range("G" & 5 + (91 * I))
    Range("K" & 75 + (91 * I) & ":L" & 88 + (91 * I)).Copy Range("K" & 5 + (91 * I))
  Next I
End Sub

Bonsoir

merci Banzai64

je teste et te tien au courrant

Bonjour,

pour simplifier la lecture et la mise au point on peut aussi l'inscrire sous cette forme :

    Dim i As Long
    For i = 0 To 19
        Range("G5:I73,K5:P74").Offset(91 * i).ClearContents
    Next i

eric

Rechercher des sujets similaires à "effacer plage repetion"