macro pour format date et Recuperer données dans un autre classeur
#1
Débutant XLPages

Inscription: 16/11/2012

Messages: 1

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 16-11-2012 08h33
Bonjour,

J'ai  une base de données afin de gerer des documents par type et sous type.
  1. 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





Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes