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, SATISFAIT ou PAS SATISFAIT.

Est-il possible de rajouter un petit message dès la validation "Merci pour votre participation" (InputBox, une autre userform ? )

Voici le fichier :

27satisfaction.xlsm (70.37 Ko)

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,

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 Sub

Note : on peut rajouter un message box pour dire que c'est oki

crdlt,

André

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 Sub

remerciement également à Dan42153 ici


voici celui d'Ergotamine merci -;) ci-dessous avec textboxs non-remplis

crdlt,

André

Rechercher des sujets similaires à "user form incrementer donnees"