Problème sur un userform

taupivin

XLDnaute Junior
Bonjour à tous,

voici mon problème,
Lorsque je ne ne rempli pas une ou plusieurs cases de mon userform et que je valide j'ai bien mon message d'avertissement mais une ligne est crée dans le tableau final. De plus je ne sais pas comment faire pour agrandir mon tableau en fonction du nombre de ligne que je vais insérer.
Si quelqu'un a une idée pour parer à ces deux problèmes...
Vous trouverez le fichier ci-joint.

Merci d'avance.
 

Pièces jointes

  • Classeur chrono.xls
    63 KB · Affichages: 73
  • Classeur chrono.xls
    63 KB · Affichages: 79
  • Classeur chrono.xls
    63 KB · Affichages: 82

fhoest

XLDnaute Accro
Re : Problème sur un userform

Bonjour,

dans un premier temps je changerai l'ordre d'écriture du code:
Code:
Private Sub CommandButton1_Click()


If rp.Value = "" Then
MsgBox ("Vous devez choisir un responsable pédagogique")
rp.SetFocus
Exit Sub
End If

If ass.Value = "" Then
MsgBox ("Vous devez choisir une assistante")
ass.SetFocus
Exit Sub
End If


If dom.Value = "" Then
MsgBox ("Vous devez choisir un domaine")
dom.SetFocus
Exit Sub
End If

If Intit.Value = "" Then
MsgBox ("Vous devez saisir un intitulé pour la formation")
Intit.SetFocus
Exit Sub
End If

If client.Value = "" Then
MsgBox ("Vous devez saisir un nom de client ")
client.SetFocus
Exit Sub
End If

If TYPEF.Value = "" Then
MsgBox ("Vous devez indiquer de quel type d'action il est question ")
TYPEF.SetFocus
Exit Sub
End If

If REF.Value = "" Then
MsgBox ("Vous devez indiquer s'il s'agit d'une action ARA HT ou ARA Net ")
REF.SetFocus
Exit Sub
End If

num = Sheets("FEUIL1").Range("B65536").End(xlUp).Row + 1
Sheets("Feuil1").Activate
Range("B" & num).Value = datej.Value
Range("A" & num).Value = Month(datej) & "-" & Year(datej) & "-" & num
Range("C" & num).Value = rp.Value
Range("D" & num).Value = ass.Value
Range("E" & num).Value = dom.Value
Range("F" & num).Value = Intit.Value
Range("G" & num).Value = client.Value
Range("h" & num).Value = TYPEF.Value
Range("I" & num).Value = DTPicker1.Value

CHRONO.Hide
reponse = MsgBox("Le numéro chrono de cette proposition est " & Month(datej) & "-" & Year(datej) & "-" & num & Chr(10) & " " & "La proposition est bien enregistrée dans le classeur chrono, la relance peut se faire le " & CDate(datej) + 15, vbYes, "Attribution numéro chrono")

End Sub
ensuite perso je controlerai que tous les champs sont remplis avec un seul messages "veuillez remplir tous les champs" ou liberer un locked sur le bouton valider tant que les champs ne sont pas remplis complètement.
Mais ce n'est que mon point de vue.
A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Problème sur un userform

Bonjour taupivin,

cela vient de cette partie de code qui doit se trouver en fin de procédure et non au début comme tu l'as fait
à mettre donc juste avant CHRONO.Hide
Code:
num = Sheets("FEUIL1").Range("B65536").End(xlUp).Row + 1
Sheets("Feuil1").Activate
Range("B" & num).Value = datej.Value
Range("A" & num).Value = Month(datej) & "-" & Year(datej) & "-" & num
Range("C" & num).Value = rp.Value
Range("D" & num).Value = ass.Value
Range("E" & num).Value = dom.Value
Range("F" & num).Value = Intit.Value
Range("G" & num).Value = client.Value
Range("h" & num).Value = TYPEF.Value
Range("I" & num).Value = DTPicker1.Value
à+
Philippe

Edit: Bonjour Fhoest .................... même solution :)
 
Dernière édition:

fhoest

XLDnaute Accro
Re : Problème sur un userform

Bonjour PHLaurent,Stephan et les autres si il y a entre temps.:eek::eek:
Re,
pour agrandir le tableau automatiquement il suffit d'ajouté la ligne de code suivante à cette endroit:
Code:
num = Sheets("FEUIL1").Range("B65536").End(xlUp).Row + 1

Sheets("Feuil1").Activate
'ligne a ajouter 
''''''''''''''''''''''''''''''''''''''''''''
Rows(num).Insert
''''''''''''''''''''''''''''''''''''''''''''''
Range("B" & num).Value = datej.Value
A bientôt.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 270
Messages
2 086 681
Membres
103 370
dernier inscrit
pasval