une macro qui se lance toutes les 15min

clav

XLDnaute Nouveau
Bonjour,

Je souhaiterais faire une macro qui se lance toutes les 15min.
L'opération est toute bete, il s'agit de copier une cellule d'une feuille et de coller la valeur de cette cellule toutes les 15min dans une autre feuille.

Comment faire?

Toujours pour cette opération je ne sais plus comment faire en sorte que lorsque la macro s'execute elle colle la valeur dans la derniere cellule de la colonne (xldown) +1??

merci
 

Pierrot93

XLDnaute Barbatruc
Re : une macro qui se lance toutes les 15min

Bonsoir Clav

tu peux essayer les macros ci dessous :

Code:
Sub macro1()
Application.OnTime Now + TimeValue("00:15:00"), "macro2"
End Sub
Sub macro2()
Sheets(1).Range("A1").Copy Sheets(2).Range("A1:A" & Sheets(2).Range("A65536").End(xlUp).Row).Offset(1, 0)
macro1
End Sub

attention, il y a sans doute lieu de mettre un test pour arreter la boucle...

bonne soirée
@+
 

clav

XLDnaute Nouveau
Re : une macro qui se lance toutes les 15min

parfait! merci

Mais je ne trouve pas la syntaxe a mettre si je souhaite que cette macro s'execute toutes les 15min a partir de 8h et jusqu'a 22h

+ autre petite question :

J'ai une colonne avec des données et je souhaiterai afficher dans la colonne d'a coté la valeur max de ces données (ca c'est bon avec MAX(A1:A10)), masi aussi la 2eme plus grand valeur, autrement dit MAX-1.. mais je n'y parviens pas... Et idem pour MIN-1

Si vous avez une idée...

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : une macro qui se lance toutes les 15min

Bonjour Clav

pour le paramétrage horaire essaye le code ci dessous en remplacement de la macro2 :

Code:
Sub macro2()
Sheets(1).Range("A1").Copy Sheets(2).Range("A1:A" & Sheets(2).Range("A65536").End(xlUp).Row).Offset(1, 0)
If Time > #8:00:00 AM# And Time < #10:00:00 PM# Then
    macro1
End If
End Sub

pour ta 2ème question, peut être une solution avec la fonction "Rang".

bonne journée
@+
 

clav

XLDnaute Nouveau
Re : une macro qui se lance toutes les 15min

Ca fonctionne avec Rank,
Merci


Par contre il ca bug pour l'autre partie..
Je suis nul en syntaxe, mais je pense comprendre comment le faire, si qqn pouvait me traduire le "texte" suivant en VB ca serait magique!

If Heure actuelle = une des valeurs de la colonne A de la feuille 2
Then copier Feuille1 A1 et coller la valeur dans la feuille2 dans la colonne B correspondante a l'heure en A

Merci
 

pascal21

XLDnaute Barbatruc
Re : une macro qui se lance toutes les 15min

bonjour utilises la fonction "
Code:
grande.valeur(a1:a10;1)
Code:
grande.valeur(a1:a10;2)
pour la 2eme plus grande valeur
et
Code:
petite.valeur(a1:a10;1)
Code:
petite.valeur(a1:a10;2)
pour la 2eme plus petite valeur
 
Dernière édition:

clav

XLDnaute Nouveau
Re : une macro qui se lance toutes les 15min

Merci, mais comme je l'ai dit, ca fonctionne aussi avec la fonction Rank (ou Rang en fr).
Par contre c'est le lancement d'une macro toutes les 15min qui me pose probleme. Avec la réponse de Pierrot93 la macro ne se lance qu'une seule fois, apres les 15 premieres minutes. Ensuite plus rien...
 

clav

XLDnaute Nouveau
Re : une macro qui se lance toutes les 15min

le fichier original est sur un PC qui n'a pas d'accés internet. Donc voici un fichier "clone" simplifié.

Merci
 

Pièces jointes

  • Real time macro.xls
    20.5 KB · Affichages: 70
  • Real time macro.xls
    20.5 KB · Affichages: 71
  • Real time macro.xls
    20.5 KB · Affichages: 69

Pierrot93

XLDnaute Barbatruc
Re : une macro qui se lance toutes les 15min

Re Clav, Bonjour Pascal, Mj

comprend pas, je viens encore de tester le code chez moi, règlage sur 5 secondes avec un point d'arrêt sur "sub macro2()" et à priori ca fonctionne bien...

fais la même chose, mets un point d'arret, et execute ensuite pas à pas la macro2 (F8) afin de vérifier que tu passes bien le contrôle du "if".

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : une macro qui se lance toutes les 15min

Re

Je découvre ton fichier, le code ne correspond en rien à celui que je t'ai donné.

il s'agissait de le recopier dans un module STANDARD, et non le mettre dans un module de feuille.

@+
 

clav

XLDnaute Nouveau
Re : une macro qui se lance toutes les 15min

Oui excuse moi, le code la etait un début d'essai de rien du tout...
Je te remets le fichier avec le code original.

j'avoue que je ne suis pas un ponte de VB.

J'ai cherché le module standard et deplacé le code un peu partout et le probleme que j'ai maintenant c'est qu'il ne trouve pas la macro2...

Peux-tu jeter un petit coup d'oeil et m'expliquer ou et pourquoi mettre le code...

Ca m'aiderait bien!

Merci
 

clav

XLDnaute Nouveau
Re : une macro qui se lance toutes les 15min

comme j'y parviens tjs pas.. je remets le fichier..
Merci
 

Pièces jointes

  • Real time macro.xls
    33 KB · Affichages: 63
  • Real time macro.xls
    33 KB · Affichages: 65
  • Real time macro.xls
    33 KB · Affichages: 67

Pierrot93

XLDnaute Barbatruc
Re : une macro qui se lance toutes les 15min

Re

j'ai remis tout ton code dans le module 1, j'ai changé le nom de ta macro "timer" en macroX. "timer" est déjà le nom d'une fonction VBA.

j'ai rajouté à la fin de ta 2éme macro le nom de la 1ère, ce qui a pour effet de la lancer.

Code:
Sub macroX()
Application.OnTime Now + TimeValue("00:00:05"), "stocking"
End Sub
Sub stocking()
    Range("C4:C11").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    Sheets("Sheet1").Select
    Range("B3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("E4").Select
    macroX
End Sub

en l'état chez moi cela fonctionne toutes les 5secondes sans interruption.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 013
Membres
104 004
dernier inscrit
mista