smahancharif
XLDnaute Junior
bonjour je suis nouvelle ici et je souhaiterai créer un planning où les 47 employés pourrait intégrer leurs horaires il y 4 types d'horaires et 3 tupes de pauses.
merci
merci
Je sais et c'est bizarre que j'aie une erreur alors que toi, @GALOUGALOU et @smahancharif, vous n'avez rien.chez moi rien
Bas c'est exactement le même fichier que celui du post 22, j'avais modifié les macros mais je n'ai enregistré aucune modification donc cela reste le même.Re
quel fichier utilises tu ?
peux tu le joindre que je le teste ?
jean marie
Oui, je sais que le problème vient soit de ma session, soit de mon ordi, soit du serveur LAN, soit des paramètres de l'ordinateur. Je verrais si cela fonctionne avec mon ordi personnel.Re
moi si j'utilise le fichier du #22
pas de problème !
mais je ne sais plus Lol ce qu'il fallait faire Mdr !
tout va bien Lol
jean marie
Ha ok je comprend, merci.re chti160 pendant que l'userform est présent il n'est pas possible de modifier les données, cela n'est pas gênant que la feuille soit visible.
il est masqué ensuite, afin que des opérateurs que nous dirons farceur, ne fasse pas des modifications mal venues.
Cells(Ligne, 1)
Sub ajouter()
Application.EnableEvents = False ' ajouter
On Error Resume Next
Dim Ligne As Integer
With Me
If .ComboBox2 = "" Then MsgBox "Choisir un numéro de semaine": Exit Sub
If .ComboBox3 = "" Or .ComboBox4 = "" Then MsgBox "Il manque des informations du lundi au jeudi, au moindre doute quittez à la boite de dialogue suivante"
If .ComboBox13 = "" Or .ComboBox14 = "" Then MsgBox "Il manque des informations pour le vendredi, au moindre doute quittez à la boite de dialogue suivante"
End With
If MsgBox("AJOUT : confirmez-vous l'ajout des données?", vbYesNo, "confirmation") = vbYes Then
Application.EnableEvents = False
With Sheets("Base")
Ligne = .Range("A456541").End(xlUp).Row + 1
.Cells(Ligne, 1) = Me.ComboBox2 & ComboBox101
.Cells(Ligne, 2) = Me.ComboBox101.Value
.Cells(Ligne, 3) = Me.ComboBox2.Value
.Cells(Ligne, 4) = Me.ComboBox3.Value
.Cells(Ligne, 5) = Me.TextBox22.Value
.Cells(Ligne, 6) = Me.TextBox25.Value
.Cells(Ligne, 7) = Me.TextBox28.Value
.Cells(Ligne, 9) = Me.ComboBox13.Value
.Cells(Ligne, 10) = Me.TextBox42.Value
.Cells(Ligne, 11) = Me.TextBox45.Value
.Cells(Ligne, 12) = Me.TextBox48.Value
End With
Unload Me
MsgBox "Informations enregistrées"
UserForm5.Show
Sheets("Planning").Visible = xlSheetVisible
Sheets("Tuto").Visible = xlSheetVisible
Worksheets("Tuto").Select
End If
Application.EnableEvents = True
End Sub
Sub planning()
Dim f1 As Worksheet, f2 As Worksheet
Set f1 = Sheets("Base")
Set f2 = Sheets("Planning")
Application.ScreenUpdating = False
With f2
lig2 = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("B4:K" & lig2).ClearContents
lig1 = f1.Cells(f1.Rows.Count, 1).End(xlUp).Row
lig2 = .Cells(.Rows.Count, 1).End(xlUp).Row
For x = 3 To lig1
For y = 4 To lig2
If f1.Cells(x, 3) = .Cells(1, 5) Then
If f1.Cells(x, 2) = .Cells(y, 1) Then
.Cells(y, 2) = f1.Cells(x, 4)
.Cells(y, 3) = f1.Cells(x, 5)
.Cells(y, 4) = f1.Cells(x, 6)
.Cells(y, 5) = f1.Cells(x, 7)
.Cells(y, 7) = f1.Cells(x, 9)
.Cells(y, 8) = f1.Cells(x, 10)
.Cells(y, 9) = f1.Cells(x, 11)
.Cells(y, 10) = f1.Cells(x, 12)
End If
End If
Next y
Next x
End With
Application.ScreenUpdating = True
End Sub
Une simple demande, différente du début du fil, une révolution pour le classeur.le même planning mais en laissant la possibilité de choisir la pause de midi en fonction du jour
Private Sub Combobox3_change()
On Error Resume Next
TextBox21 = ComboBox3
TextBox22 = "12:00"
TextBox301 = "08:00"
TextBox23 = CDate(TextBox22) - CDate(TextBox21)
ComboBox3.Value = Format(ComboBox3.Value, "hh:mm")
ComboBox4_Change
End Sub
Re,re smahancharif
Une simple demande, différente du début du fil, une révolution pour le classeur.
Avec les remarques et les conseils de etoto et de chti160 je vous propose une solution sur 5 jours.
j'ai rajouté la possibilité d'imprimer un bulletin individuel. (une feuille en plus (masquée)) ;
A l'ouverture le formulaire présente les informations essentielles, mais un bouton permet d'afficher la totalité des frames.
Essayer de bien maitriser les macros de ce classeur, car une évolution sur la réglementation du temps de travail pourrait vous obliger à modifier les macros (userform5 ) toutes les "combobox change" avec des horaires entre guillemets.
VB:Private Sub Combobox3_change() On Error Resume Next TextBox21 = ComboBox3 TextBox22 = "12:00" TextBox301 = "08:00" TextBox23 = CDate(TextBox22) - CDate(TextBox21) ComboBox3.Value = Format(ComboBox3.Value, "hh:mm") ComboBox4_Change End Sub
re chti160
j'ai tenu compte de tes macros, effectivement, c'est plus clair.
tu nous présentes dans le fil 72, une solution intéressante à inclure dans le classeur, donc nous attendons impatiemment
cdt
galougalou
merci....re smahancharif
et oui ce n'est pas une petite modification
je vais essayer de trouver une solution, mais il faudra un peu de temps
cdt