Microsoft 365 Modifier code et format textbox

Marvin57

XLDnaute Occasionnel
Bonjour à tout le monde,

je reviens encore une fois vers vous pour demander votre aide.

Ce n'est pas facile de démonter mon fichier réel ou de composer un similaire, alors je m'en excuse d'avance.

j'ai un userform qui contient un textbox5 dans lequel je rentre un nombre de jours par exemple et lors de la validation du code ci-joint, il me place les lettres CP ou CSS dans le planning.
Ceci fonctionne très bien.

Maintenant j'aurai bien voulu que si je saisi dans ce textbox5 un nombre comme par exemple 0.5 ou 1.5 ou 3.5 etc. qu'il me place également les lettres CP ou CSS dans le planning.
Car si je saisi par exemple le 0.5 il ne m'inscrit ni les lettres CP ni les lettres CSS lors des validations du code.

VB:
Private Sub Actualiser_Planning() 'valider
  Application.ScreenUpdating = False
  Dim col%, lig%, Salarie%, CP%, Nb%
  Dim Ctrl As Object
    Nb = 0
    With Sheets("PLANNING SALARIES")
      For lig = 5 To 159 Step 14
        If Month(.Cells(lig, 2)) = Month(Me.TextBox2) Then
          For col = 2 To 32
            If DateSerial(Year(.Cells(lig, 2)), Month(.Cells(lig, 2)), col) = CDate(Me.TextBox2.Value) Then
              For Salarie = lig + 1 To lig + 11
                If .Cells(Salarie, 1).Value = Me.ComboBox1.Value Then
                   For CP = col + 1 To col + CInt(Me.TextBox5.Value)
                    Nb = Nb + 1
                    If Me.OptionButton1 = True Then
                      .Cells(Salarie, CP) = "CP"
                    Else
                      .Cells(Salarie, CP) = "CSS"
                    End If
                    If CP = .Cells(lig, Columns.Count).End(xlToLeft).Column Then
                      If Nb >= CInt(Me.TextBox5.Value) Then Exit Sub
                      Salarie = Salarie + 14
                      CP = 2
                      If Me.OptionButton1 = True Then
                        .Cells(Salarie, CP) = "CP"
                      Else
                        .Cells(Salarie, CP) = "CSS"
                      End If
                      Nb = Nb + 1
                    End If
                    If Nb >= CInt(Me.TextBox5.Value) Then Exit Sub
                  Next CP
                  Exit Sub
                End If
              Next Salarie
            End If
          Next col
        End If
      Next lig
    End With

  Sheets("PLANNING SALARIES").Activate
  Unload Me
 
End Sub


Auriez vous S'il vous plaît une idée ce qu'il faudrait changer ou ajouter dans le code ci joint.

Je vous dis un Grand Merci à l'avance.

Marvin57
 

Marvin57

XLDnaute Occasionnel
Re
tu utilise deux fois la même variable "lig" dans des Boucle imbriquées cela peut peut être la cause
Tu as :
Code:
For lig = 5 To 159 Step 14
puis si tu trouves la date tu fais
Code:
 For Salarie = lig + 1 To lig + 11
donc si lig est égal à 5 au début de Boucle tu passes à lig + 1 To lig + 11 cela perturbe peut être la valeur de lig
change l'une des variables Lig par exemple par Ligne .tu testes et tu nous dis .
Jean marie
Merci beaucoup. Je vous tiens au courant, c'est promis.
 

Marvin57

XLDnaute Occasionnel
Peux-tu faire une feuille excel avec juste ton Tableau avec des Données anonymes ?
Cela permettrait de tester ta procédure .
Jean marie
Bonjour Jean Marie,

voila, j'ai essayé de reproduire le fonctionnement de mon tableau.

Si vous saisissez un nom, un type de congés, et que vous inscrivez dans le textbox (Nombre Jours) un nombre de jours, et que vous saisissez la date de départ, il vous placera la date de fin automatiquement.
Après si je valide il inscrit bien soit un CP ou un CSS dans le planning aux dates et aux noms voulus.

Mon souhait c'est de pouvoir saisir dans le textbox (Nombre Jours) par exemple un 0.5 pour demi journée et qu'il inscrit également un CP ou CSS dans le planning.

J'ai un autre tableau dans lequel il m'inscrit les jours de congés pris. Cela fonctionne très bien. Le seul problème c'est que si je saisi dans le textbox ( Nombre Jours) un 0.5 il n'inscrit rien dans le planning.

Voila, j'espère que cela ira.

Merci encore à vous et A+

Marvin57
 

Pièces jointes

  • Marvin57-code-planning.xlsm
    49.6 KB · Affichages: 4
Dernière édition:

Marvin57

XLDnaute Occasionnel
Bonjour Marvin57
tu dis :

cela ne concerne que la saisie pour un Jour ?
peux tu expliquer l'utilisation du 1/2 CP ou CSS ?
Pourquoi ne pas ajouter sur le Userform les Options 1/2 CP et 1/2 CSS
Bonne Nuit
Jean marie
Bonjour Jean Marie,
Mes nuits sont très courtes , j'ai du mal à dormir la journée quand je suis de nuit😟 ! Bref.
Oui cela arrive de temps à autre de prendre une demi journée, donc pour cela je saisi dans le textbox5 un 0.5 et il me l'inscrit bien dans le tableau des congés, mais il ne fait rien dans le tableau planning.

Alors s'il peut inscrire 1/2 CP ou 1/2 CSS dans les jours du planning, lorsque je saisi 0.5 cela me va.

Merci Jean Marie
A+
 

Discussions similaires

Réponses
17
Affichages
337

Statistiques des forums

Discussions
312 207
Messages
2 086 252
Membres
103 166
dernier inscrit
ZAHRAA