Copier/coller cellule de feuille à feuille toutes les 60mn

Bonjour a tous,

Déjà merci beaucoup de votre aide, grâce a ce forum, a vous tous, j'arrive a travailler sur excel avec des macros, alors que je n'y connais rien du tout... Alors je vous demanderez un tout petit peu d'indulgence... mais je ne m'en fait pas...

Donc voilà le soucis, j'aimerai, pour de l'événementiel, créer une mini caisse enregistreuse pour les 3 bars, mais sans tiroir caisse, puisque cela fonctionne avec des tickets, c'est juste pour enregistrer les commandes, pour une gestions de stock et quantité écoulé a l'heure. Donc j'ai commencé un exemple sur fichier excel avec des boutons, que je vous ai mis en pièce jointe, vous comprendrez mieu

Mon soucis c'est que j'aimerai: que toute les 60mn (du Chrono F19), des cellules de feuille 1 aillent dans des cellules de la feuille 3, tout en sautant 1 ligne toutes les 60 mn biensur.

F19 vers A2

C13 vers B2

E13 vers C2

G13 vers D2

I13 vers E2

K13 vers F2

Merci d'avance, les critiques et avis sont les bienvenues

A très bientot

PLS47

Salut PLS et bienvenue sur le Forum!

Ci-dessous un code que tu peux utiliser pour ton problème :

Option Explicit
Public h As String, t As Long
Sub Init()
h = Mid(Now, 12, 2)
Chrono
End Sub
Sub Chrono()
If Mid(Now, 12, 2) <> h Then Call MaMacro
Application.OnTime Now + TimeValue("00:00:01"), procedure:="Chrono"
End Sub
Sub MaMacro()
'Ici ton code
Init
End Sub

Voilà donc :

La macro Init est la pour initialiser le chrono en donnant l'heure à la variable h (Genre la au moment où j'écris ce post, la variable h prendrait la valeur "15")

La macro Chrono est lancé, et toutes les secondes, on vérifie l'heure !

Et si l'heure est différente de celle qui a été enregistré par h alors on lance ta macro

Restant à dispo!

Bonsoir Juice

Je n'ai pas trop compris ton code... Qu'est ce qui en est de la copie de mes cellules?

Merci

Pls47

Re!

Je n'ai pas trop compris ton code... Qu'est ce qui en est de la copie de mes cellules?

Merci

Méaculpa x)

Je pensais que tu cherchais un code pour le chrono alors que tu l'avais déjà x)

J'avais pas regardé ton fichier!

Bref! Désolé pour le HS, et tu trouvera ci-joint ton fichier modifier avec les codes suivants :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [F19] And [F19] = "01:00:00" Then CopyPaste
End Sub
Sub CopyPaste()
Dim i As Long
Application.EnableEvents = False
Sheets(1).Cells(19, 6) = 0
i = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
With Sheets(2)
    .Cells(i, 1) = Mid(Now, 12, 2)
    .Cells(i, 2) = Sheets(1).Cells(13, 3)
    .Cells(i, 3) = Sheets(1).Cells(13, 5)
    .Cells(i, 4) = Sheets(1).Cells(13, 7)
    .Cells(i, 5) = Sheets(1).Cells(13, 9)
    .Cells(i, 6) = Sheets(1).Cells(13, 11)
End With
Reinitialisation
End Sub

Pour que t'ai pas a attendre une heure de voir comment ce passe le copier / coller je t'invite à modifier les critères de lancement de la macro par genre ="00:00:05"

A dispo!

7pour-pls.xlsm (58.19 Ko)

il y a aucun soucis, tu es un pro, c'est magique ce qu'on peut faire avec excel, un grand merci a toi...

En revanche, juste un petit bémol, est ce possible que mon chrono reste en constante activité? car la il se remet a zéro a chaque fois que les données sont copier! de plus si je modifie l'heure dans mon chrono avant de le démarrer, est ce que ça change quelque chose au code...

Re- PLS

il y a aucun soucis, tu es un pro, c'est magique ce qu'on peut faire avec excel, un grand merci a toi...

Un plaisir !

En revanche, juste un petit bémol, est ce possible que mon chrono reste en constante activité? car la il se remet a zéro a chaque fois que les données sont copier!

Okep remplace le code que je t'ai mis par celui ci-dessous et l'heure ne repassera pas à zéro :

Public Heure As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [F19] And [F19] = Heure & ":00:00" Then CopyPaste
End Sub
Sub CopyPaste()
Dim i As Long
Heure = Heure + 1
Application.EnableEvents = False
i = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1
With Sheets(2)
    .Cells(i, 1) = Mid(Now, 12, 2)
    .Cells(i, 2) = Sheets(1).Cells(13, 3)
    .Cells(i, 3) = Sheets(1).Cells(13, 5)
    .Cells(i, 4) = Sheets(1).Cells(13, 7)
    .Cells(i, 5) = Sheets(1).Cells(13, 9)
    .Cells(i, 6) = Sheets(1).Cells(13, 11)
End With
Application.EnableEvents = True
End Sub

de plus si je modifie l'heure dans mon chrono avant de le démarrer, est ce que ça change quelque chose au code...

Dans mon code non, dans celui qui ta fais le chrono oui :p

Quand tu clic sur 'Start' le code démarre direct à zéro

A dispo!

Bonjour,

Je pensais avoir répondu a ton dernier poste, alors mille excuses, merci beaucoup ça m'a vraiment aidé, mais le probléme est sur la mise en place de ce projet en milieu réel, ça devient trop compliqué, alors je le laisse en stand-by...

En revanche je bloque sur une autre question sur Excel, beaucoup moins chiant que le dernier...

J'envois une photo en pièce jointe,

En fait j'aimerai que D7 = C7 tant qu'aucune valeur n'est rentré dans les cellules de I7 à O7...

Ensuite quand je vais mettre une valeur dans I7, il faut que cette valeur soit copier dans la cellule D7 en remplacement de la valeur précédente... et même chose quand je vais mettre une valeur dans J7, copier dans D7 en remplacement de la valeur précédente, et ainsi de suite jusqu'à O7.

Merci d'avance

Cordialement

Nicolas

Rechercher des sujets similaires à "copier coller feuille toutes 60mn"