Macro excel saisie de données [Résolu/Fermé]

Signaler
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013
-
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013
-
Bonjour tout le monde !

Voilà mon problème, je me suis mis à la programmation en VBA pour créer une macro excel dans le cadre d'un projet. Mais voilà je suis comme qui dirait perdu, désespéré, énervé et à bout ! (Bon d'un côté j'ai jamais était très fan de ce genre de chose)

C'est donc pour cela que je vous demande de l'aide ! Qui pourrait me dire ce qui ne va pas dans mon programme, ce qui est faux, comment l'améliorer et surtout comment le faire marcher ??? (est il au moins proche de quelque chose qui marche ???)

Le but de la macro serait de permettre à l'opératrice de sélectionner son nom parmi une liste, ensuite d'entrer la quantité produite et les rebuts. Tout cela serait ensuite envoyé dans une base de donnée sur une feuille excel, avec en même temps la saisie automatique de la date et heure.

Voilà à peu près tout mon problème, ci-dessous vous trouverez mon « programme », si jamais quelqu'un veut bien m'aider je suis disponible s'il manquait des précisions !

Merci à vous

Cordialement,

Yann

Module:

Sub initialisation_saisiqte()

With saisiqte

.Opérateur.RowSource = "'paramètres'!" & Sheets("paramètres").Range("A1").CurrentRegion.Address
.date_saisie.Caption = Format(Now, "dd/mm/yy hh:mm")

End With

End Sub

Sub validation_saisiqte()

Dim qte As Integer

With qte

If .Opérateur.Value = "Nom du déclarant" Or .Opérateur.Value = "" Then
MsgBox "Veuillez vous identifier", vbOKOnly, "Opérateur manquant"
.Opérateur.SetFocus
Exit Sub
ElseIf .qte.Value = "" Or .qte.Value = "" Then
MsgBox "Veuillez saisir la quantité d'armature produite", vbOKOnly, "quantité manquante"
.qte.SetFocus
Exit Sub
End If

.Hide
traitement_saisiqte

End With

End Sub

Sub traitement_saisiqte()

Dim ligne As Integer


With ActiveWorkbook.Sheets("données")

.Unprotect

If Not IsEmpty(.Range("A8")) Then
ligne = .Range("A7").End(xlDown).Row + 1
Else
ligne = 8
End If

'Placer les valeurs sur le tableau excel'

.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, 6).Value = saisiqte.qte

End Sub

Objet "saisie"

Private Sub CommandButton1_Click()

initialisation_quantite
quantite.Show

End Sub


Objet "données"

Private Sub CommandButton3_Click()

Dim ligne As Integer

With Sheets("données")
If Not IsEmpty(.Range("A8")) Then
ligne = Range("A7").End(xlDown).Row
Else
ligne = 8
End If
.Unprotect
.Rows(ligne + 1).Delete Shift:=xlUp
ActiveWindow.ScrollRow = ligne
.Protect DrawingObjects:=True, contents:=True, Scenarios:=True
End With

End Sub


FIN DU PROGRAMME

P.S.: L'UserForm est aussi défini, le problème est que la macro se lance bien, l'userform s'affiche et je peux tout saisir, mais le fait de cliquer sur le bouton OK ne le referme pas et aucune donné n'est envoyée dans la feuille excel.

Merci pour votre aide

5 réponses

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 111
Bonjour,
Ce serait plus facile si tu déposais ton classeur (sans donnée confidentielle) sur Cjoint.com (ou autre) et mettre le lien dans un poste suivant
A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 111
Re,
Le code relatif à un UserForm doit en principe, être mis dans le module de l'UserForm et pas dans un Module.
Ton classeur en retour
A+
NB : Reste le N° de semaine, je ne sais pas ce que tu veux et l'équipe..
Pour l'équipe serait bien de mettre la référence dans la page Paramètres en colonne B
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013

https://www.cjoint.com/?0AApjhrpUUK

ci-dessous le fichier Excel :) merci encore
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013

done :) merci pour le tuyau
Messages postés
13
Date d'inscription
vendredi 25 janvier 2013
Statut
Membre
Dernière intervention
6 février 2013

Merci beaucoup !

Pour l'équipe et la semaine, ainsi que pour plusieurs autres choses comme le traitement des données je me débrouillerais, le travail m'a déjà été bien suffisamment mâché là! ;)

Merci encore bonne soirée

A+