remplir un planning avec un userform

mgrizzly

XLDnaute Junior
Bonjour,
Je voudrais que lorsque j'indique un nombre inférieur à 100 dans la textbox du userform " nombre de restes voulus " alors mon planning se remplisse avec la macro "RemplirPlanning1".
Quand je clique sur le bouton Valide du userform tout se bloque, et je dois quitter excel brutalement au lieu de remplir mon planning.
J'ai essayé la macro sans bouton elle marche très bien.
Merci de m'aider.
Je joins mon planning que j'ai réduit au maximum.
 

Pièces jointes

  • classeur1.zip
    36.6 KB · Affichages: 90
  • classeur1.zip
    36.6 KB · Affichages: 97
  • classeur1.zip
    36.6 KB · Affichages: 97

Robert

XLDnaute Barbatruc
Repose en paix
Re : remplir un planning avec un userform

Bonjour mgrizzly, bonjour le forum,

Chez moi ça plante directement à la macro. J'ai essayé de l'exécuter pas à pas mais j'ai eu peur de mourir avant... Je ne pense pas que le bouton ait quelque chose à voir avec ton problème. Je te propose quand même une petite modification du code mais ce n'est pas la solution...

Code:
Private Sub BoutonValide_Click()

Dim nbrestes As Integer
nbrestes = CInt(Restes.TextBox1.Value)
If nbrestes <= 100 Then
    Unload Me
    Roulement1.RemplirPlanning3
End If
End Sub
 

mgrizzly

XLDnaute Junior
Re : remplir un planning avec un userform

Merci quand même Robert.
Pour ce qui est du code du bouton, si je veux que nbrestes >=200 renvoie RemplirPlanning1
et nbrestes<200 et >100 renvoie Remplir Planning2, comment dois-je le modifier?
 

mgrizzly

XLDnaute Junior
Re : remplir un planning avec un userform

On m'a dit de mettre ça à la place mais ça ne marche pas mieux.
Code:
Dim Tableau()
Dim PtTabl As Integer
Dim w(12) As String

Sub Nom_FIP_3()
Dim Idx As Byte, V As Integer, x As Integer
y = Array(24, 41, 59)
z = Array(9, 25, 42)
    With Sheets("Mois en cours")
    For Idx = 0 To 2
        V = -1: ReDim Tableau(20) 'si suffisant
        For i = z(Idx) To y(Idx)
            If Cells(i, 3) = 1 And Cells(i, 3).Interior.ColorIndex <> 3 Then
                V = V + 1
                Tableau(V) = Cells(i, 2)
                'Debug.Print Tableau(V)
            End If
        Next i
Reco:
        If V > 3 Then
            V = V - 1
            For i = Int(V * Rnd) To V
                Tableau(i) = Tableau(i + 1)
                'Debug.Print Tableau(i)
            Next i
            GoTo Reco
        End If
        For i = 0 To 3
            w(PtTabl) = Tableau(i)
            'Debug.Print w(PtTabl)
            PtTabl = PtTabl + 1
        Next i
    Next Idx
    End With
    For i = 0 To 11 'les 12 noms tirer au hazard.
        Debug.Print w(i)
    Next i
End Sub

Quelqu'un peut-il m'aider?
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote