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

Y compris Power BI, Power Query et toute autre question en lien avec Excel
P
PLS 47
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 14 février 2019
Version d'Excel : 2003

Message par PLS 47 » 14 février 2019, 14:13

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... :lol: :lole: 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 :lol:

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
Caisse enregistreuse.xltm
(53.64 Kio) Téléchargé 10 fois
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'141
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 14 février 2019, 15:13

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!
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
P
PLS 47
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 14 février 2019
Version d'Excel : 2003

Message par PLS 47 » 14 février 2019, 20:21

Bonsoir Juice

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

Pls47
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'141
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 15 février 2019, 09:39

Re!
PLS 47 a écrit :
14 février 2019, 20:21
Je n'ai pas trop compris ton code... :bof: 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!
Pour PLS.xlsm
(58.19 Kio) Téléchargé 4 fois
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
P
PLS 47
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 14 février 2019
Version d'Excel : 2003

Message par PLS 47 » 15 février 2019, 15:08

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

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... :mrgreen:
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'141
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 18 février 2019, 09:43

Re- PLS
PLS 47 a écrit :
15 février 2019, 15:08
il y a aucun soucis, tu es un pro, c'est magique ce qu'on peut faire avec excel, un grand merci a toi... ::D ::D ::D
Un plaisir !
PLS 47 a écrit :
15 février 2019, 15:08
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
PLS 47 a écrit :
15 février 2019, 15:08
de plus si je modifie l'heure dans mon chrono avant de le démarrer, est ce que ça change quelque chose au code... :mrgreen:
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!
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
P
PLS 47
Nouveau venu
Nouveau venu
Messages : 8
Inscrit le : 14 février 2019
Version d'Excel : 2003

Message par PLS 47 » 16 mars 2019, 09:20

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... :lol:
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. :wink:

Merci d'avance
Cordialement
Nicolas
Gestion stock Fauillesta.xlsx
(12.7 Kio) Téléchargé 2 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message