Titre du sujet : macro pour format date et Recuperer données dans un autre classeur par wifi le 16/11/2012 08:33:57
Bonjour,
J'ai une base de données afin de gerer des documents par type et sous type.
- Mon premier probleme reside dans ma macro pour les dates, j'utilise des spin button , je ne peux pas dépasser 2012 ( et pas possible d'être inferieur à 2009) lorsque je veux remplir la date
Mon deuxième probleme est une fois les données saisies, je voudrais que ces données soient recopiées dans un autre classeur en fonction du type du document et du sous type, et réparties sur differents onglets (sous type docuemnt). j'ai bien créé dans le meme dossier un fichier avec le nom "type document et les feuilles "sosu type" masi cela ne fonctionne pas.
Private Sub spban_Change()
Affich_date
End Sub
Private Sub spbjour_Change()
If spbjour.Value = 0 Then
spbjour.Value = 31
ElseIf spbjour.Value = 32 Then
spbjour.Value = 1
End If
Affich_date
End Sub
Private Sub spbmois_Change()
If spbmois.Value = 0 Then
spbmois.Value = 12
ElseIf spbmois.Value = 13 Then
spbmois.Value = 1
End If
Affich_date
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub UserForm_Initialize()
Dim num$, n%, a%
a = Year(Date)
With spban
.Max = a + "3"
.Value = a
End With
num = ThisWorkbook.Worksheets("documents").Range("A65536").End(xlUp).Value
n = CInt(Right(num, 4)) + 1
Mid(num, 6, 4) = Format(n, "0000")
ncbox1.Value = num
End Sub
Private Sub Valider_Click()
Dim listest, i%, lg&
Dim num$, n%
listest = Array("", "", " N° de Plaque", "Nombre de Tests", "Date", "Prenom Technicien", "Nom Technicien", "conformités")
For i = 2 To 9
With Controls("ncbox" & i)
If .Value = "" Then
MsgBox "Vous devez remplir le champ " & listest(i) & ".", , "Saisie incomplète"
.SetFocus
Exit Sub
End If
End With
'Next i
'For i = 5 To 6
' With Controls("ncbox" & i)
'For lg = 0 To .ListCount - 1
'If .Value = .List(lg, 0) Then
' Exit For
'End If
'Next lg
'If lg = .ListCount Then
'MsgBox "Vous devez choisir dans la liste des " & listest(i) & ".", , "Saisie non conforme"
'.Value = ""
'.SetFocus
'Exit Sub
'End If
' End With
Next i
With ThisWorkbook.Worksheets("documents")
lg = .Range("A65536").End(xlUp).Row + 1
For i = 1 To 9
.Cells(lg, i).Value = Controls("ncbox" & i).Value
Next i
.Cells(lg, 4).Value = DateSerial(spban.Value, spbmois.Value, spbjour.Value)
num = .Cells(lg, 1).Value
End With
'Enregistrement NC sur classeur processus
Enreg_new_doc lg
'Choix saisie ou non autre NC
If MsgBox("Renseignements enregistrés. Voulez-vous continuer.", vbYesNo + vbInformation, "Confirmation") = vbYes Then
n = CInt(Right(num, 4)) + 1
Mid(num, 6, 4) = Format(n, "0000")
ncbox1.Value = num
For i = 2 To 9
With Controls("ncbox" & i)
.Value = ""
End With
Next i
Else
NC.Hide
End If
End Sub
Merci de votre aide.
Bonne journée
|