VBA-Mise à jour de dates

Bonjour à toutes et à tous,

J'ai une erreur VBA bête et récurrente que je n'arrive pas à comprendre et encore moins à résoudre. Les lignes de code sont exactement les mêmes que sur 5 autres de mes fichiers mais sur un nouveau que je viens de créer, rien ne se passe comme avant.

Sub Maj_dates()
'
' Maj_dates Macro
'

'
Dim DernLigne As Long

    Workbooks.Open Filename:= _
        "G:\Divers\Incident Management\Access\Exports Planifiés\Accréditations\Articles_Accreditations.xlsx"
    Worksheets("export").Range("H2").Select
    ActiveCell.FormulaR1C1 = "=TEXT(RC[-2],""aaaa""&""/mm"")"
    DernLigne = Range("A" & Rows.Count).End(xlUp).Row
    Range("H2").Copy Destination:=Range("H2:H" & DernLigne)
    Range("H1").Select
    ActiveCell.FormulaR1C1 = "Mois"

End Sub

Ces lignes de code devraient normalement ouvrir un autre fichier, ajouter un format date en cellule H2, étendre ladite formule jusqu'à la dernière cellule non-vide puis ajouter le mot "Mois" en cellule H1.

Voici le résultat :

  • Ouverture d'un autre fichier : OK
  • Ajouter un format de date en cellule H2 : OK
  • Etendre ladite formule jusqu'à la dernière ligne non-vide : Nok - Il m'étend cette formule sur les cellules H1 à H3 du fichier contenant la macro.
  • Ajout du mot "Mois" en cellule H1 : OK.

J'ajoute en PJ les deux fichiers.

Le fichier contenant la macro source est : Macros_Accreditations.xlsm

Le fichier sur lequel le traitement doit se faire est : Articles_Accreditations.xlsx

Si une bonne âme peut me dépatouiller de ce problème, ce serait formidable, j'ai éclusé beaucoup de forums. Après, je ne suis pas non plus une bête en VBA, je débute.

Merci !!!!!!!!

Bonjour,

Pour éviter ce type de problème :

  • On bannit de son code toute utilisation de Select ou Activate
  • On qualifie ses expressions par des objets explicites.

Cordialement.

Bonjour,

Alors pour le premier point, je comprends mais ne vois pas comment faire. Pour le deuxième point, pourriez vous être plus explicite s'il vous plait?

Comme indiqué, je débute en Vba et n'ai pas encore les bases.

Merci.

Par exemple :

Sub Maj_dates()
    Dim Dln&
    With Workbooks.Open("G:\Divers\Incident Management\Access\Exports Planifiés\" _
     & "Accréditations\Articles_Accreditations.xlsx").Worksheets("export")
        Dln = .Range("A" & .Rows.Count).End(xlUp).Row
        .Range("H2").Formula = "=TEXT(F2,""aaaa""&""/mm"")"
        .Range("H2").AutoFill .Range("H2:H" & Dln)
        .Range("H1") = "Mois"
    End With
End Sub

Cordialement.

Rien à redire, ça fonctionne nickel, merci Mille fois !!!!!!!!!!!!!!

Vivement ma formation au VBA )

Rechercher des sujets similaires à "vba mise jour dates"