Programmer le lancement d'une macro VBA

Bonjour le Forum

J'ai écris un code qui me permet de copier et d'insérer dans un onglet des données (Merci James007)

Je cherche à automatiser ce code en le lançant une fois par semaine mais ça ne marche pas

Excel sera toujours ouvert

Dans le ThisWorkBook

Private Sub Workbook_Open()
Application.OnTime TimeValue("09:33:00"), "Sauve"
End Sub

Dans un module

Sub Sauve()
'Macro enregitrée par jfo le 21/04/2015

If Weekday(Date) = vbSaturday Then

Dim DLig As Integer

   With Sheets("Compteur") 'Sélectionne la feuille Compteur

    DLig = .Range("A" & Rows.Count).End(xlUp).Row + 1 ' Positionne sur la bonne cellule
    .Rows(DLig).Insert

    'Recopie des formules

    .Cells(DLig, "A") = Cells(DLig - 1, "A").Value
    .Cells(DLig, "B").FormulaR1C1 = Cells(DLig - 1, "B").FormulaR1C1
    .Cells(DLig, "D").FormulaR1C1 = Cells(DLig - 1, "D").FormulaR1C1
    .Cells(DLig, "E").FormulaR1C1 = Cells(DLig - 1, "E").FormulaR1C1
    .Cells(DLig, "G").FormulaR1C1 = Cells(DLig - 1, "G").FormulaR1C1
    .Cells(DLig, "H").FormulaR1C1 = Cells(DLig - 1, "H").FormulaR1C1
    .Cells(DLig, "I").FormulaR1C1 = Cells(DLig - 1, "I").FormulaR1C1
    .Cells(DLig, "J").FormulaR1C1 = Cells(DLig - 1, "J").FormulaR1C1

    'Récupération des données de la feuille "Récap Prises"

     Sheets("Récap Prises").Cells(24, 8).Copy
    Sheets("Compteur").Cells(65535, 3).End(xlUp)(2).PasteSpecial xlPasteValues
    Sheets("Récap Prises").Cells(37, 8).Copy
    Sheets("Compteur").Cells(65535, 6).End(xlUp)(2).PasteSpecial xlPasteValues

    Application.CutCopyMode = False

   End With

 End If

   Application.Wait "09:33:01"
   Application.OnTime TimeValue("09:33:00"), "Sauve"

    End Sub

Je joint le fichier

D'avance merci pour votre aide et votre disponibilité

Re,

Ci-joint ton fichier test ... qui, après de toutes petites corrections ....fonctionne correctement ...

Bonsoir le forum

Bonsoir le fil

Merci james007 je regarderai demain


Bonsoir le forum

Bonsoir le fil

Merci james007 je regarderai demain

Bonjour,

Tu me feras part des résultats de tes différents tests ...

Dans l'utilisation de Application.Ontime ... il ne faut pas oublier d'ajuster l'heure ... et dans ta macro, le jour de la semaine ...

Bonsoir le Forum

Bonsoir le Fil

Je viens de regarder le fichier et en ajustant l'heure et le jour de la semaine, je n'ai aucun déclanchement de la macro"Sauve"

Je ne comprend pas

Bonjour le forum

Bonjour le fil

Voici un fichier avec une macro qui se déclenche toutes les 10 seconde, malheureusement, elle peut être lancer qu'au maximum toutes les 99 heures

Est-il possible de changer

Excel.Application.OnTime Now + TimeValue("00:00:10"), "macro1" par la valeur d'un jour de la semaine?

Bonjour,

Je suis un peu perdu par tes différents commentaires ...

Je viens de refaire un test avec ton fichier ... tout fonctionne ...

Une petite précaution ... une fois tes changements effectués, il faut sauver ton fichier, le fermer ...et ensuite le ré-ouvrir ...

Bonjour le forum

Bonjour le fil

Bonjour James007

Ok après lecture de ton dernier post le code fonctionne impèc

j'ai pas pensé comme un abruti de relancer le fichier

Merci beaucoup

le Fichier que j'ai mis précédemment contient une autre macro mais celle ci fonctionne avec "time-value"

Ca peux servir

en tout cas merci pour l'aide et la disponibilité

Re,

Content que cela fonctionne ...

Merci pour tes remerciements ...

Rechercher des sujets similaires à "programmer lancement macro vba"