job75
XLDnaute Barbatruc
Bonjour le forum,
Suite à ce fil :
https://www.excel-downloads.com/threads/nombre-doctets-memoire-dune-expression.129833/
et à celui-ci :
https://www.excel-downloads.com/threads/formule-somme-de-2-colonnes-sur-4.148446/
où david84 souhaitait une macro pour calculer le nombre d'octets utilisés par une formule,
j'ai donc réalisé cette macro (clic droit sur l'onglet et Visualiser le code) :
Fichier joint.
A+
Suite à ce fil :
https://www.excel-downloads.com/threads/nombre-doctets-memoire-dune-expression.129833/
et à celui-ci :
https://www.excel-downloads.com/threads/formule-somme-de-2-colonnes-sur-4.148446/
où david84 souhaitait une macro pour calculer le nombre d'octets utilisés par une formule,
j'ai donc réalisé cette macro (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Target.HasFormula Then Exit Sub 's'il n'y a pas de formule
Dim fich$, n1&, n2&
Cancel = True
fich = ThisWorkbook.Path & "\" & ThisWorkbook.Name
[IV1:IV2048].Formula = "=COUNTA(1,)"
[IV1:IV2048].Replace 1, "A1", LookAt:=xlPart 'pour que les formules soient toutes différentes (en notation R1C1)
ThisWorkbook.Save
n1 = FileLen(fich)
[IV1:IV2048].Replace ",", "," & Mid(Target.Formula, 2, 9 ^ 9)
ThisWorkbook.Save
n2 = FileLen(fich)
[IV1:IV2048].ClearContents
ThisWorkbook.Save
MsgBox "Nombre d'octets de la formule : " & Application.Round((n2 - n1) / 2048, 0)
End Sub
Fichier joint.
A+