Titre du sujet : Re: formule par Mth le 06/11/2012 23:00:25
Bonsoir mahelnawe, bonsoir à tous,
Je ne suis pas certaine d'avoir bien compris, mais au cas où essaie avec ce code dans un module standard, que tu pourras adapter à ton fichier réel:
Option Explicit
Sub Macro2()
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
PlageB.PasteSpecial Paste:=xlPasteValues
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
Bonne soirée,
mth
|