La macro remplit de mauvaises valeurs – date actuelle

Je voudrais requestr une aide. Ma macro était sur le sharepoint remplir la date actuelle de toutes les lignes peuplées. Au début, il semblait fonctionner et soudain, il a commencé à changer (écraser) l'en-tête à la date actuelle et à mettre la date actuelle dans 1 cellule ci-dessous. Quelqu'un pourrait-il m'aider ce que je devrais modifier pour que cela fonctionne correctement?

Voici le code de macro (reformaté):

Sub DateVerified() Sheets("Data").Activate Dim rngAddress As Range Set rngAddress = Range("A1:ZZ1").Find("Verified Date").Offset(1, 0) rngAddress.Select Dim ac As Integer Dim lastr As Long Dim sh As Worksheet Set sh = ActiveSheet ac = ActiveCell.Column lastr = sh.Cells(Rows.Count, ac).End(xlUp).Row Range(Cells(2, ac), Cells(lastr, ac)).Select Selection.ClearContents Selection.Formula = "=TEXT(Now(),""dd/mm/yyyy"")" Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 

Ce qui suit pourrait convenir:

 Sub DateVerified() Dim rngAddress As Range Dim ac As Integer Dim lastr As Long Dim sh As Worksheet Sheets("Data").Activate Set rngAddress = Range("A1:ZZ1").Find("Verified Date").Offset(1, 0) rngAddress.Select Set sh = ActiveSheet lastr = sh.Cells(Rows.Count, 1).End(xlUp).Row ac = ActiveCell.Column Range(Cells(2, ac), Cells(lastr, ac)).Select Selection.ClearContents Selection.Formula = "=TEXT(Now(),""dd/mm/yyyy"")" Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues End Sub 

Je pense que cela risquerait de se tromper sur la ligne ci-dessous:

 lastr = sh.Cells(Rows.Count, ac).End(xlUp).Row 

Cela tente d'aller à la dernière ligne de la feuille de calcul pour la colonne active, puis faites l'équivalent de ctrl + up dans excel pour find la dernière ligne occupée dans cette colonne. Pour tester cette théorie, append une ligne de code directement après ceci:

 debug.print "lastr set to " & lastr 

et voir ce que cette valeur est configurée pour regarder la window immédiate (utilisez Ctrl + G pour ouvrir à partir de l'éditeur VBA).