plecrivain
XLDnaute Nouveau
Bonjour,
je suis novice en la matière et malgré avoir lu tout une full d'exemple, je ne m'en sort pas et je souhaiterais que vous puissiez me dire ce qui ne va pas dans mon code.
d'abord, j'utilise excel 2007.
Ensuite, j'ai créé un formulaire afin que mes gars puisse remplir leur feuilles d'heures via un formulaire de ma fabrication.
voici le code:
Private Sub Cmdajouter_Click()
Dim numLigneVide As Integer
'on active la feuille tableau de relevé d'heures'
Worksheets("Tableau heures").Activate
'on trouve la derniere ligne du tableau et on enregistre la variable Numlignevide'
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'on verifie que les champs obligatoires sont bien remplis'
If Txtnom = "" Then
MsgBox "veuillez indiquer votre Nom", vbCritical, "La ligne est vide!"
TextNom.SetFocus
ElseIf txtDate = "" Then
MsgBox "Veuillez la date du jour", vbCritical, "Champs manquant"
txtDate.SetFocus
ElseIf txtNumdaffaire = "" Then
MsgBox "Veuillez indiquer le N° d'affaire", vbCritical, "Champs manquant"
txtNumdaffaire.SetFocus
ElseIf txtNbrdheurenormale = "" Then
MsgBox "Veuillez le nombre d'heures normales travaillées", vbCritical, "Champs manquant"
txtNbrdheurenormale.SetFocus
ElseIf txtNbrdheuresup = "" Then
MsgBox "Veuillez indiquer le nombre d'heures supplémentaires", vbCritical, "Champs manquant"
txtNbrdheuresup.SetFocus
Else
'on remplit les données du tableau'
ActiveSheet.Cells(numLigneVide, 1) = Txtnom.txt
ActiveSheet.Cells(numLigneVide, 2) = txtDate.txt
ActiveSheet.Cells(numLigneVide, 3) = txtNumdaffaire.txt
ActiveSheet.Cells(numLigneVide, 4) = txtNbrdheurenormale.txt
ActiveSheet.Cells(numLigneVide, 5) = txtNbrdheuresup.txt
ActiveSheet.Cells(numLigneVide, 6) = txtNbrdheurevoyage.txt
ActiveSheet.Cells(numLigneVide, 7) = txtNbrpanier.txt
'on efface le formulaire et on replace le curseur sur le premier champ (nom'
Txtnom.txt = ""
txtDate.txt = ""
txtNumdaffaire.txt = ""
txtNbrdheurenormale.txt = ""
txtNbrdheuresup.txt = ""
txtNbrdheurevoyage.txt = ""
txtNbrpanier.txt = ""
Txtnom.SetFocus
'ComboBoxunite.Text = ""
'workbooks(fichier).close.
End If
End Sub
D'abord, excel ne "voit" jamais lorsque j'écris des lettres dans un champ du formulaire. j'ai toujours le message "remplir le champ" ou qq chose comme ca...
ensuite à la validation, rien ne s'écrit dans le tableau.
Ne pas tenir compte des 2 dernières lignes, c'est simplement un memo pour moi car je devrais intégrer des liste déroulantes dans le formulaire quant cette affaire sera réglée 🙂
j'ai pourtant suivi scrupuleusement divers post mais rien n'y fait.
Que se passe t-il?
merci de votre aide
je suis novice en la matière et malgré avoir lu tout une full d'exemple, je ne m'en sort pas et je souhaiterais que vous puissiez me dire ce qui ne va pas dans mon code.
d'abord, j'utilise excel 2007.
Ensuite, j'ai créé un formulaire afin que mes gars puisse remplir leur feuilles d'heures via un formulaire de ma fabrication.
voici le code:
Private Sub Cmdajouter_Click()
Dim numLigneVide As Integer
'on active la feuille tableau de relevé d'heures'
Worksheets("Tableau heures").Activate
'on trouve la derniere ligne du tableau et on enregistre la variable Numlignevide'
numLigneVide = ActiveSheet.Columns(1).Find("").Row
'on verifie que les champs obligatoires sont bien remplis'
If Txtnom = "" Then
MsgBox "veuillez indiquer votre Nom", vbCritical, "La ligne est vide!"
TextNom.SetFocus
ElseIf txtDate = "" Then
MsgBox "Veuillez la date du jour", vbCritical, "Champs manquant"
txtDate.SetFocus
ElseIf txtNumdaffaire = "" Then
MsgBox "Veuillez indiquer le N° d'affaire", vbCritical, "Champs manquant"
txtNumdaffaire.SetFocus
ElseIf txtNbrdheurenormale = "" Then
MsgBox "Veuillez le nombre d'heures normales travaillées", vbCritical, "Champs manquant"
txtNbrdheurenormale.SetFocus
ElseIf txtNbrdheuresup = "" Then
MsgBox "Veuillez indiquer le nombre d'heures supplémentaires", vbCritical, "Champs manquant"
txtNbrdheuresup.SetFocus
Else
'on remplit les données du tableau'
ActiveSheet.Cells(numLigneVide, 1) = Txtnom.txt
ActiveSheet.Cells(numLigneVide, 2) = txtDate.txt
ActiveSheet.Cells(numLigneVide, 3) = txtNumdaffaire.txt
ActiveSheet.Cells(numLigneVide, 4) = txtNbrdheurenormale.txt
ActiveSheet.Cells(numLigneVide, 5) = txtNbrdheuresup.txt
ActiveSheet.Cells(numLigneVide, 6) = txtNbrdheurevoyage.txt
ActiveSheet.Cells(numLigneVide, 7) = txtNbrpanier.txt
'on efface le formulaire et on replace le curseur sur le premier champ (nom'
Txtnom.txt = ""
txtDate.txt = ""
txtNumdaffaire.txt = ""
txtNbrdheurenormale.txt = ""
txtNbrdheuresup.txt = ""
txtNbrdheurevoyage.txt = ""
txtNbrpanier.txt = ""
Txtnom.SetFocus
'ComboBoxunite.Text = ""
'workbooks(fichier).close.
End If
End Sub
D'abord, excel ne "voit" jamais lorsque j'écris des lettres dans un champ du formulaire. j'ai toujours le message "remplir le champ" ou qq chose comme ca...
ensuite à la validation, rien ne s'écrit dans le tableau.
Ne pas tenir compte des 2 dernières lignes, c'est simplement un memo pour moi car je devrais intégrer des liste déroulantes dans le formulaire quant cette affaire sera réglée 🙂
j'ai pourtant suivi scrupuleusement divers post mais rien n'y fait.
Que se passe t-il?
merci de votre aide
Pièces jointes
Dernière édition: