Akortys
XLDnaute Occasionnel
Bonjour,
Dans un tableau ("DonneesFour") j'ai une colonne avec la formule matricielle suivante pour chaque cellule :
Dés que je passe une de mes macro, il faut que je repasse sur chaque cellule de la colonne pour effectuer :
Restaurer en tant que formule de colonne calculée.
Si je le fais ca passe bien, mais je voudrais qu'il ne me modifie pas le calcul lorsque ma macro passe.
La macro en question :
Merci d'avance.
Dans un tableau ("DonneesFour") j'ai une colonne avec la formule matricielle suivante pour chaque cellule :
=SI(ESTERREUR(SI(CountFour!$M44="";0;1/NB.SI.ENS(CountFour!$N$3:$N$564;CountFour!$N44;CountFour!$M$3:$M$564;CountFour!$M44)));0;SI(CountFour!$M44="";0;1/NB.SI.ENS(CountFour!$N$3:$N$564;CountFour!$N44;CountFour!$M$3:$M$564;CountFour!$M44)))
Dés que je passe une de mes macro, il faut que je repasse sur chaque cellule de la colonne pour effectuer :
Restaurer en tant que formule de colonne calculée.
Si je le fais ca passe bien, mais je voudrais qu'il ne me modifie pas le calcul lorsque ma macro passe.
La macro en question :
Sub FormeFournisseur()
Sheets("brut").Select
Cells.Select
Selection.Copy
Sheets("TriBrut").Select
Cells.Select
ActiveSheet.Paste
ActiveWindow.SmallScroll ToRight:=14
Columns("R:R").Select
Application.CutCopyMode = False
Selection.Cut
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Range("B10").Select
Dim maplage As Range, x As Long, y As Long, z As Integer
'Set maplage = Range("Tribrut").Offset(1, 0).Resize(Range("Tribrut").Rows.Count - 1, Range("Tribrut").Columns.Count)
Set maplage = Worksheets("Tribrut").Cells(1, 1).CurrentRegion
Set maplage = maplage.Offset(1, 0).Resize(maplage.Rows.Count - 1, maplage.Columns.Count)
With Worksheets(Range("DonneesFour").Parent.Name)
y = .ListObjects("DonneesFour").Range.Row + 1
z = .ListObjects("DonneesFour").Range.Column
x = .ListObjects("DonneesFour").ListRows.Count + y - 1
.Rows(y & ":" & x).Delete Shift:=xlUp
x = .ListObjects("DonneesFour").ListRows.Count + y
maplage.Copy Destination:=.Cells(x, z)
End With
Sheets("CountFour").Select
ActiveWorkbook.Worksheets("CountFour").ListObjects("DonneesFour").Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("CountFour").ListObjects("DonneesFour").Sort. _
SortFields.Add Key:=Range("DonneesFour[[#All],[Code PGI]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("CountFour").ListObjects("DonneesFour").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Worksheets("BILAN").Activate
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub
Merci d'avance.
Dernière édition: