Relationuserform et cellules

Salut à tous

J'ai essayé de réaliser un userform de saisie.

Je souhaite maintenant faire les liens avec les cellules de mes feuilles.

Comment ca se passe?

A l'ouverture, je souhaite que la date et la valeur de la cellule E3 s'affiche automatiquement dans les 2 premiers champs.

Après avoir renseigné les autres champs, en validant par le bouton valider, voici ce que je souhaite:

  • que la valeur des champs Nom et prenom s'affiche en B5 et B6 respectivement.
  • que la valeur cochée dans le frame1, s'affiche en B7
  • que dans le frame2, je puisse faire plus d'un choix et que les éléments cochés apparaissent en B10 (comme par exemple : CNI, Extrait).
N.B: comment faire pour que le curseur circule dans l'ordre souhaité dans le formulaire de saisie?

Bonjour Zombe

Pour remplir un userform à l'ouverture, tu le fais par la procédure

Private Sub UserForm_Initialize()
TextBox3.Value = Date
TextBox4.Value = Cells(3, 5)
End Sub

Pour pouvoir cocher plusieurs choix dans la frame2, il faut des checkbox

Et pour remplir la feuille excel à partir de l'userform en appuyant sur un bouton

Private Sub CommandButton1_Click()
Dim c As Control
Dim temp As String

Cells(5, 2) = TextBox1.Value
Cells(6, 2) = TextBox2.Value

' cas des optionsButton
 temp = ""
  For Each c In Me.Frame1.Controls
     If c.Value Then temp = c.Caption
  Next c
Cells(7, 2) = temp

' cas des CheckBox
  temp = ""
  If CheckBox1.Value = True Then
    temp = CheckBox1.Caption
  End If
  If CheckBox2.Value = True Then
    If Len(temp) = 0 Then
        temp = CheckBox2.Caption
    Else
        temp = temp & ", " & CheckBox2.Caption
    End If
  End If
  If CheckBox3.Value = True Then
    If Len(temp) = 0 Then
        temp = CheckBox3.Caption
    Else
        temp = temp & ", " & CheckBox3.Caption
    End If
  End If
Cells(8, 2) = temp

' on cache le formulaire
Me.Hide

' on remet les données du formalaire à 0
Me.TextBox1 = ""
Me.TextBox2 = ""
   For Each c In Me.Frame1.Controls
    c.Value = False
  Next c
  For Each c In Me.Frame2.Controls
    c.Value = False
  Next c

End Sub

Bon WE

8zombe.xlsm (23.30 Ko)

Salut recreation59 et le forum

Merci pour votre solution satisfaisante.

J'ai remarqué que lorsque je change la valeur de E3, le changement n'est pas auto dans le formulaire de saisie.

Comment depanner cela?

J'ai remanié un peu l'usf pour vérifier qqch:

dans le usf remanié, le curseur se positionne dans NOM, Prenom...

Je souhaite que ca se passe comme dans l'ordre ci-sessous:

  • RELATION BANK,
  • NOM
  • PRENOM
  • NBRE D'ENFANT
  • FRAME1
  • FRAME2.
Aussi, est-il possible d'intégrer des infobulls? si oui pouvez-vous le réaliser svp?

Merci

8interfacer1.xlsm (20.66 Ko)

Pour les infobulles, va voir dans les propriétés de ton controle et remplit la case "controlTipText"

Pour l'ordre de tabulation, dans la fenêtre de modification du formulaire, clique sur le menu "Affichage" puis "ordre de tabulation"

Pour réinitialiser le formulaire, j'ai corrigé mon erreur, il fallait mettre unload à la place de hide (qui le cache sans le décharger)

Cordialement

10interfacer1.xlsm (21.53 Ko)

Salut ecreation59

Merci pour votre contribution.

J'ai testé et c'est super.

Comment faire pour que les mots saisis dans les texbox et autres soient tout le temps en majuscule?

Merci

Bonjour

Lossque que tu fais le transfert du userform dans ta feuille, tu utilises la fonction Ucase

Cells(5, 2) = Ucase(TextBox1.Value)

Cordialement

Salut recreation59 et le forum

Merci pour le feedback et ta solution.

Je finalise mon projet et vous reviens pour l'interfacer avec ma feuille excel.

Rechercher des sujets similaires à "relationuserform"