[Résolu]Pb userform pour main courante

  • Initiateur de la discussion Initiateur de la discussion abrou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
321
Retour