[Résolu]Pb userform pour main courante

abrou

XLDnaute Nouveau
Bonjour,

Je suis actuellement en stage et je dois faire un fichier avec un compte rendu de vacation.
Etant débutant en vba, je me suis aidé des cours du site et du forum, mais il y a certaines choses que je n'arrive pas à faire....

J'ai donc créé 2 userforms sur la feuil6.

Je souhaite que les champs remplis dans les userforms s'inscrivent dans un les emplacements prévu dans la feuille "modele" et dans la feuille "datasecure" qui sera invisible...=> j'ai réussi pour l'userform2, mais pas pour l'userform1...

A la fin de la journée lorsque la personne génère, ca créé une feuille avec la date et que cette feuille soit verrouillée et que ca copie la plage a14:38 dans la feuille "data" à la suite chaque jour.
J'ai réussi à faire générer, mais pas copier la plage à la suite dans la feuille data.

Je n'ai pas réussi à rajouter automatiquement lors du clic l'ajout de la date et de l'heure...

J'ai également un petit soucis avec avec le userform 2, je n'arrive pas à faire ajouter les optionbutton dans la colonne quoi de la feuille modèle...

Si quelqu'un aurait une idée et me dire ou je me trompe, ce serait hyper sympa.

Je mets le fichier comme ca vous pouvez voir exactement de quoi il en retourne.

Merci beaucoup
 

Pièces jointes

  • cmpte rendu vacation macro.xlsm
    50.3 KB · Affichages: 78
  • cmpte rendu vacation macro.xlsm
    50.3 KB · Affichages: 81
  • cmpte rendu vacation macro.xlsm
    50.3 KB · Affichages: 83
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Pb userform pour main courante

Re,
Un début de réponse pour usf2
LblQuoi peut-être masqué. Il suffira de tester la valeur de ce contrôle lors de la validation des données
A+
kjin
 

Pièces jointes

  • abrou.xls
    62 KB · Affichages: 76

abrou

XLDnaute Nouveau
Re : Pb userform pour main courante

Bonjour,

merci beaucoup.
J'ai réussi à avancer.
Il me reste plus qu'une chose à faire. C'est arriver à trouver la formule pour copier à la suite dans la feuille data les données de la feuille modele (plage A14:I38).

Le code de mon bouton est le suivant:


Private Sub CommandButton1_Click()


Application.EnableEvents = False
[e65536].End(xlUp)(3).Select
ActiveCell = "fin de service"
'Call ligne

Sheets("modele").Copy After:=Sheets(4)
ActiveSheet.Name = Format(Date, "dd-mm-yy")
ActiveSheet.Protect Password:="aniain"
ActiveSheet.Shapes("commandbutton1").Delete

num3 = Sheets("modele").Range("A65536").End(xlUp).Row + 1
Sheets("modele").Activate
Range("A14:I38").Copy Sheets("Data").Range("A" & num3)

Sheets("modele").Activate

Range("A14:I38").Select
Selection.ClearContents
Range("D9:J11").Select
Selection.ClearContents
Application.EnableEvents = True

End Sub


Si vous avez une idée! Je suis preneur!
Merci à tous
 

abrou

XLDnaute Nouveau
Re : Pb userform pour main courante

j'ai essayé avec cette formule, mais ca ne marche pas...

Private Sub CommandButton1_Click()


Application.EnableEvents = False
[e65536].End(xlUp)(3).Select
ActiveCell = "fin de service"
'Call ligne

Sheets("modele").Copy After:=Sheets(4)
ActiveSheet.Name = Format(Date, "dd-mm-yy")
ActiveSheet.Protect Password:="aniain"
ActiveSheet.Shapes("commandbutton1").Delete



Sheets("modele").Activate
Range("A14:I38").Copy
With Sheets("Data")
.Select
.Range("A65536").End(xlUp)(2).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.Range("A1").Select
End With

Sheets("modele").Activate
Range("A14:I38").Select
Selection.ClearContents
Range("D9:J11").Select
Selection.ClearContents
Application.EnableEvents = True

End Sub
 

abrou

XLDnaute Nouveau
Re : Pb userform pour main courante

voici la solution que m'a proposé Tashiqi et qui fonctionne.
Merci à lui
Private Sub CommandButton1_Click()


Application.EnableEvents = False
[e65536].End(xlUp)(3).Select
ActiveCell = "fin de service"
'Call ligne

'création nouvelle feuille basée sur le modèle ayant pour nom la date
Sheets("modele").Copy After:=Sheets(4)
ActiveSheet.Name = Format(Date, "dd-mm-yy")
ActiveSheet.Protect Password:="aniain"
ActiveSheet.Shapes("commandbutton1").Delete

' Copie de la plage A14:I38 vers la Feuille Data à la suite de la derniere ligne remplie
Sheets("modele").Activate
Range("A14:K38").Copy
With Sheets("Data")
.Select
.Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End With

'Effacer tous les champs
Sheets("modele").Activate
Range("A14:I38").Select
Selection.ClearContents
Range("D9:J11").Select
Selection.ClearContents
Application.EnableEvents = True


End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 236
Messages
2 086 477
Membres
103 228
dernier inscrit
malik832