Microsoft 365 Formulaire dans une feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous 🙂

Je souhaite avoir un formulaire dans un feuille (sans UserForm).
J'ai fait des recherches et trouvé un modèle que je trouve "sympathique".

Il est en anglais et j'ai modifié certaines parties en français.

J'ai également voulu ajouter un bouton et j'ai également modifié ce qui me semblait être à modifier.
A l'exécution, j'ai une erreur :
1665872773578.png


Le code d'origine avant ajout du bouton "Mle" est : .Range("C" & iRow).Value = IIf(optMr.Value = True, "Mr", "Mme")
J'ai tenté ça : .Range("C" & iRow).Value = IIIf(optMme.Value = True, "Mr, Mme, Mle")
Je n'arrive pas à le modifier pour que ça fonctionne Grrrr !!!
Pourriez-vous me donner le bon code ?

En cas, je joins le fichier test.
Un grand merci du soir...
🙂
 

Pièces jointes

Dernière édition:
Bonsoir Jean marie bien sur
@ Laurent
j'avais proposé mais sans succés
Un imbriqué de Si en VBA Soit deux IIF

c'est cette variable qui était pas la bonne :
OptMr.Value il fallait la remplacer par celle la OptionMr.Value
.Range("C" & iRow).Value = IIf(OptMr.Value = True, "Mr", IIf(optMme.Value = True, "Mme", "Mle"))

VB:
           '.Range("C" & iRow).Value = IIf(OptionMr.Value = True, "Mr", "Mme")
           'If .Range("C" & iRow).Value <> "" Then .Range("C" & iRow).Value = "Mle"
         
            .Range("C" & iRow).Value = IIf(OptionMr.Value = True, "Mr", IIf(optMme.Value = True, "Mme", "Mle"))

et cela fonctionne j'ai corrigé le Poste #26 est ajouté votre solution et mentionné aussi
Bravos jean marie
 
Dernière édition:
Re
Laurent
non j'avais modifié le Nom du Control , je me suis dit pourquoi "OptMme" et "OptMle" et "OptionMr"
Donc j'ai renommé le Control "OptMr" !
Voir la vidéo qui image mon propos (plus haut) la cellule "Mle"
Jean marie
 

Pièces jointes

  • Lionel-10.gif
    Lionel-10.gif
    373 KB · Affichages: 18
Re
à Laurent et Lionel

Il faut renommer le Control OptionMr en OptMr , ça me semble plus Logique Lol
Et mettre ce Nom (OptMr) dans le Code :
VB:
 .Range("C" & iRow).Value = IIf(OptMr.Value = True, "Mr", IIf(optMme.Value = True, "Mme", "Mle"))
Ou alors ne pas renommer le Control "OptionMr" en "OptMr" et
Modifier le Code
VB:
 .Range("C" & iRow).Value = IIf(OptionMr.Value = True, "Mr", IIf(optMme.Value = True, "Mme", "Mle"))
Bon j'arrête de vous embêter !
EDIT :
Lionel pourquoi n'utilises tu pas les Balises pour le Code , plutôt que des Images ?

Bonne fin de Soirée
Jean marie
 
Re
La dernière pour Lionel Lol(promis)
Code:
Private Sub cmdEnregistrer_Click()
    Application.ScreenUpdating = False
    Dim iRow As Long
    iRow = Sheets("Data").Range("A1048576").End(xlUp).Row + 1
    If ValidateForm = True Then
        With ThisWorkbook.Sheets("Data")
           .Range("A" & iRow).Value = iRow - 1
           .Range("B" & iRow).Value = txtName.Value
'           .Range("C" & iRow).Value = IIf(OptMr.Value = True, "Mr", IIf(optMme.Value = True, "Mme", "Mle"))
           .Range("C" & iRow).Value = IIf(OptMr.Value = True, "Mr", "Mme")
            If .Range("C" & iRow).Value <> "" Then .Range("C" & iRow).Value = "Mle"
           .Range("D" & iRow).Value = cmbQualification.Text
           .Range("E" & iRow).Value = txtCity.Value
           .Range("F" & iRow).Value = txtState.Value
           .Range("G" & iRow).Value = txtCountry.Value
        End With
                Call Reset
    Else
        Application.ScreenUpdating = True
        Exit Sub
    End If
        Application.ScreenUpdating = True
End Sub
Une vidéo pour comment joindre du code sur XLD , comme ci-dessus Lol
Jean marie
 

Pièces jointes

  • Lionel-11.gif
    Lionel-11.gif
    901 KB · Affichages: 14
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
898
Réponses
3
Affichages
1 K
Retour