Titre du sujet : Re: formule par Mth le 12/11/2012 14:43:49
Bonjour mahelnawe, bonjour le forum,
Ta piste avec xlformats est très bien, essaie comme ceci:
Option Explicit
Sub Macro3()
Dim c As Range, PlageA As Range, PlageB As Range
With Application
'Bloque le rafraichissement écran
.ScreenUpdating = False
With Sheets("Feuil1")
'Efface le contenu de la plage AC3:AR103
.Range("AD3:AR103").ClearContents
'Passe à l'instruction suivante s'il n'y a pas de cellules correpondantes
On Error Resume Next
'Boucle sur chaque cellule de la plage AC3:AC103 contenant une formule numérique
For Each c In .Range("AC3:AC103").SpecialCells(xlCellTypeFormulas, 1)
Set PlageA = .Range(c.Offset(0, -16), c.Offset(0, -2))
Set PlageB = .Range(c.Offset(0, 1), c.Offset(0, 15))
PlageA.Copy
With PlageB
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
Next c
'Retire les vides (vers le haut) de la zone copiée
.Range("AD3:AR103").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
On Error GoTo 0
End With
'Vide le presse papier
.CutCopyMode = False
'Rétablit l'affichage écran
.ScreenUpdating = True
End With
End Sub
Bon après-midi,
mth
|