User Form incrémenter données
Bonjour à tous,
J'ai fait une UserForm et j'aimerais que dès que l'on clique sur le smiley "TRES SATISFAIT" il y est cette USERFORM qui s'affiche pour demander le nom, prénom et la société.
Sur la feuille 'BDD', j'aimerais que la date s'affiche automatiquement avec les données complétées de la UserForm et si c'est une personne TRES SATISFAIT
Est-il possible de rajouter un petit message dès la validation "Merci pour votre participation" (InputBox, une autre userform ?
Voici le fichier :
Je sais pas si je me suis bien faite comprendre.
J'étais partie sur une inputBox mais il est très difficile de modifier la mise en forme.
Ps: Savez-vous comment faire pour aligner la userform sur l'écran ?
Je vous remercie par avance
Julie S.
Bonjour,
Un test joint.
Pour l'alignement, je laisse la main, je ne maîtrise pas forcément le positionnement d'affichage désolé ..
Il faudra penser à gérer le cas où un champ n'est pas rempli dans le USERFORM via un msgbox et le Else
Cdlt,
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Bonjour toutes et tous
coucou Ergotamine
@Julie l'inputbox modifié pour la feuille
Sub messagesatisfaction()
Dim resultat, resultat1, resultat2 As String, DL, DL1, DL2 As Long, Col, Col1, Col2 As Integer, msg, msg1, msg2 As String
With Worksheets("BDD")
DL = .Range("A" & Rows.Count).End(xlUp).Row + 1
DL1 = .Range("A" & Rows.Count).End(xlUp).Row + 1
resultat = InputBox("Pouvez-vous s'il vous plaît, nous indiquer votre NOM ?", "Informations satisfaction") 'La variable reçoit la valeur entrée dans l'InputBox
If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
'MsgBox resultat
Select Case Right(Application.Caller, 1) 'en fonction N°image
Case 5
msg = "TRES SATISFAISANT"
Col = 2
Case 4
msg = "SATISFAISANT"
Col = 3
Case 3
msg = "PAS SATISFAISANT"
Col = 4
End Select
resultat1 = InputBox("Pouvez-vous s'il vous plaît, nous indiquer votre Prénom ?", "Informations satisfaction") 'La variable reçoit la valeur entrée dans l'InputBox
If resultat1 <> "" Then 'Si la valeur est différente de "" on affiche le résultat
.Cells(DL1, 6) = resultat1
End If
DL2 = .Range("A" & Rows.Count).End(xlUp).Row + 1
resultat2 = InputBox("Pouvez-vous s'il vous plaît, nous indiquer votre Société ?", "Informations satisfaction") 'La variable reçoit la valeur entrée dans l'InputBox
If resultat2 <> "" Then 'Si la valeur est différente de "" on affiche le résultat
.Cells(DL2, 7) = resultat2
End If
.Cells(DL, 1) = Date
.Cells(DL, Col) = msg
.Cells(DL, 5) = resultat
.Cells(DL1, 6) = resultat1
.Cells(DL2, 7) = resultat2
End If
DL1 = .Range("A" & Rows.Count).End(xlUp).Row + 1
End With
End Sub
Sub ActivationUserForm()
UF_Satisfaction.Show
End SubNote : on peut rajouter un message box pour dire que c'est oki
crdlt,
André
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Re,
En complétant la cpie du classeur d'Ergotamine
si une des textboxs Nom, Prénom et Sté., non rempli on peut voir ci-dessous le code
Private Sub CB_Valider_Click()
Dim resultat As String, DL As Long, Col As Integer, msg As String
Dim Réponse, Réponse1, Réponse2 As Integer
' TB_Nom
If Len(Me.TB_Nom.Value) = 0 Then
Réponse = MsgBox("Veuillez renseigner le champ NOM", vbOKOnly, "Contrôle de saisie")
Me.TB_Nom.SetFocus
Exit Sub
End If
' TB_Prenom
If Len(Me.TB_Prenom.Value) = 0 Then
Réponse1 = MsgBox("Veuillez renseigner le champ Prénom", vbOKOnly, "Contrôle de saisie")
Me.TB_Prenom.SetFocus
Exit Sub
End If
' TB_Societe
If Len(Me.TB_Societe.Value) = 0 Then
Réponse2 = MsgBox("Veuillez renseigner le champ Société", vbOKOnly, "Contrôle de saisie")
Me.TB_Societe.SetFocus
Exit Sub
End If
With Worksheets("BDD")
DL = .Range("A" & Rows.Count).End(xlUp).Row + 1
If Me.TB_Nom <> "" And Me.TB_Prenom <> "" And Me.TB_Societe <> "" Then 'Si la valeur est différente de "" on affiche le résultat
'MsgBox resultat
Select Case Right(Application.Caller, 1) 'en fonction N°image
Case 5
msg = "TRES SATISFAISANT"
Col = 2
Case 4
msg = "SATISFAISANT"
Col = 3
Case 3
msg = "PAS SATISFAISANT"
Col = 4
End Select
.Cells(DL, 1) = Date
.Cells(DL, Col) = msg
.Cells(DL, 5) = Me.TB_Nom
.Cells(DL, 6) = Me.TB_Prenom
.Cells(DL, 7) = Me.TB_Societe
End If
End With
Unload Me
MsgBox "Merci pour votre participation", vbInformation
End Sub
Private Sub UserForm_Click()
End Subremerciement également à Dan42153 ici
voici celui d'Ergotamine merci -;) ci-dessous avec textboxs non-remplis
crdlt,
André