Problème à faire marcher ma macro
Résolu/Fermé
volcolm
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013
-
Modifié par volcolm le 5/02/2013 à 20:41
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 févr. 2013 à 22:45
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 6 févr. 2013 à 22:45
A voir également:
- Problème à faire marcher ma macro
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
- Comment faire marcher chromecast - Guide
5 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2013 à 20:06
6 févr. 2013 à 20:06
Le code a mettre dans le boton
Pour spécifier la quantité/heure y faut une référence de début et de fin ?
A+
Private Sub CmdOK_Click() Dim ligne As Integer If Opérateur.Text = "Nom du Déclarant" Then MsgBox "Veuillez vous identifier", vbOKOnly, "Opérateur manquant" Opérateur.SetFocus Exit Sub ElseIf qte.Text = "" Then MsgBox "Veuillez saisir la quantité d'armature produite", vbOKOnly, "quantité manquante" qte.SetFocus Exit Sub End If 'Place les valeurs sur le tableau excel' With Sheets("données production") ligne = .Cells(Rows.Count, 4).End(xlUp).Row + 1 .Unprotect .Cells(ligne, 1).Value = NoSemaineISO(Date) .Cells(ligne, 2).Value = Format(Date, "dd/mm/yy") .Cells(ligne, 3).Value = Format(Time, "hh:mm") .Cells(ligne, 4).Value = Opérateur.Text .Cells(ligne, 5).Value = Deféquipe(Time) .Cells(ligne, 6).Value = qte.Text ' .Cells(ligne, 7).Value = saisiqte.qte 'à modifier pour que ca indique la quantité par heure .Protect End With Unload Me End Sub
Pour spécifier la quantité/heure y faut une référence de début et de fin ?
A+
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 févr. 2013 à 23:20
5 févr. 2013 à 23:20
Bonjour,
Une tite modif..
Tu devrais encore avoir des erreurs sur Lignes 4 et 6 mais n'ai pas de référence pour corriger..
A+
Une tite modif..
'Place les valeurs sur le tableau excel' équipe.Value = Deféquipe() week.Value = NoSemaineISO(Date) With Sheets("données production") ligne = .Cells(Rows.Count, 4).End(xlUp).Row + 1 .Unprotect .Cells(ligne, 1).Value = week.Value .Cells(ligne, 2).Value = Format(Date, "dd/mm/yy") .Cells(ligne, 3).Value = Format(Time, "hh:mm") .Cells(ligne, 4).Value = saisiqte.Opérateur .Cells(ligne, 5).Value = équipe.Value .Cells(ligne, 6).Value = saisiqte.qte .Protect End With Unload Me End Sub Function NoSemaineISO(d As Date) As Integer NoSemaineISO = Format(d, "ww", vbMonday, vbFirstFourDays) End Function Function Deféquipe() As String If Format(Time, "hh:mm") > "5:00" And Format(Time, "hh:mm") < "13:00" Then Deféquipe = "matin" ElseIf Format(Time, "hh:mm") >= "13:00" And Format(Time, "hh:mm") < "21:00" Then Deféquipe = "après - midi" ElseIf Format(Time, "hh:mm") >= "21:00" And Format(Time, "hh:mm") < "5:00" Then Deféquipe = "Nuit" End If End Function
Tu devrais encore avoir des erreurs sur Lignes 4 et 6 mais n'ai pas de référence pour corriger..
A+
volcolm
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013
5 févr. 2013 à 23:35
5 févr. 2013 à 23:35
Merci pour les modifications, pour ce qui est du numéro de semaine j'avais trouvé une autre solution mais du bricolage donc je vais garder la votre. Par contre oui il y a bien une erreur à la ligne
équipe.Value = Deféquipe()
Mais je n'ai pas réellement de référence, en faite selon l'heure indiqué en (ligne, 3) la macro doit saisir en (ligne, 5) "Matin, Nuit ou AM" , c'est là que je bloques vu qu'il n'y a pas vraiment de référent et je ne voie pas comment les ajouter
équipe.Value = Deféquipe()
Mais je n'ai pas réellement de référence, en faite selon l'heure indiqué en (ligne, 3) la macro doit saisir en (ligne, 5) "Matin, Nuit ou AM" , c'est là que je bloques vu qu'il n'y a pas vraiment de référent et je ne voie pas comment les ajouter
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2013 à 06:35
6 févr. 2013 à 06:35
équipe.Value ... C'est quoi ?
volcolm
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013
6 févr. 2013 à 16:29
6 févr. 2013 à 16:29
Alors dans ce que j'ai essayé d'écrire c'est censé être ma variable qui peut être MATIN, NUIT, ou AM selon la fonction deféquipe qui prend l'heure à la saisie et permet de définir si la valeur de équipe est matin AM ou nuit.
Maintenant je me doutes que cette variable est mal utilisé mais je n'arrives pas à trouver une syntaxe correct
Maintenant je me doutes que cette variable est mal utilisé mais je n'arrives pas à trouver une syntaxe correct
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2013 à 16:43
6 févr. 2013 à 16:43
On risque de tourner en rond encore longtemps, tu pourrais déposer ton classeur sur Cjoint.com (sans donnée confidentielle) et mettre le lien sur un poste suivant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
volcolm
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013
Modifié par volcolm le 6/02/2013 à 17:04
Modifié par volcolm le 6/02/2013 à 17:04
Voilà le lien Cjoint. :
https://www.cjoint.com/?CBgrbFQNeMi
(ça m'a pris un peu de temps car le fichier était trop gros, j'ai créer des tableaux mais il me les a fait pour toutes les lignes de la feuille donc ça en prenait de la place ! )
Merci encore pour votre aide et désolé du mal à m'exprimer quand il s'agit de programmation !
https://www.cjoint.com/?CBgrbFQNeMi
(ça m'a pris un peu de temps car le fichier était trop gros, j'ai créer des tableaux mais il me les a fait pour toutes les lignes de la feuille donc ça en prenait de la place ! )
Merci encore pour votre aide et désolé du mal à m'exprimer quand il s'agit de programmation !
6 févr. 2013 à 20:28
Pour la quantité par heure c'est pas réellement par heure en faite, les opératrices devront saisir les données toutes les heures approximativement, donc ce serait plutôt la quantité produite depuis la dernière saisie, donc la "valeur saisie à l'instant" - "valeur saisie précédemment".
J'aurais aussi une autre question si ce n'est pas trop demandé, comment faire pour faire en sorte que mes données actuelles soit dans un tableau mais que le tableau ne descende pas sur des milliers de ligne mais juste sur le nombre de lignes remplies, et que si une nouvelle saisie est faite le tableau est agrandi d'une ligne.
Cela m'éviterais d'avoir un fichier beaucoup trop lourd et lent =s
Merci
6 févr. 2013 à 22:45