Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ThierryP

2 views
Skip to first unread message

MichD

unread,
Apr 12, 2022, 11:02:08 AM4/12/22
to

On peut simplifier la macro comme ceci :
'-----------------------------------
Sub test()

Dim Ligne As Long, DerLig As Variant
Dim X As String, Y As String, Fichier As String

'Tu remplaces ce chemin & fichier par celui de ton application
'en respectant la syntaxe
Fichier = "'F:\Téléchargements\MichD\[MichD_Exemple2.xlsm]Feuil1'!"

'Extrait la valeur du nom "LastRow)
DerLig = ThisWorkbook.Names("LastRow").Value
DerLig = CLng(Right(DerLig, Len(DerLig) - 1))

With Feuil1
'Ligne = dernière ligne occupé de la feuille "Feuil1"
Ligne = .Range("E" & .Rows.Count).End(xlUp).Row
X = .Range("E4:E" & DerLig).Address(0, 1)
Y = .Range("D4:D" & DerLig).Address(0, 1)
'Copie de la formule sur chacune des lignes où tu as des données
'en feuil1 dans la colonne F
With .Range("F4:F" & Ligne)
.Formula = "=SUMPRODUCT(--(" & Fichier & X & "=E4" & ")*(" &
Fichier & Y & "))"
'Remplace les formules par leur valeur dans les cellules
.Value = .Value
End With
With .Range("G4:G" & Ligne)
'Même chose, insère les formules en colonne G, et les remplace
par leur valeurs
.Formula = "=D4-F4"
.Value = .Value
End With
End With
End Sub
'-----------------------------------

MichD
0 new messages