listbox et textbox dans cellule

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 !

wrap food

XLDnaute Occasionnel
Bonsoir,

Peut etrs que quelqu'un pourra d'aider.
Je voudrais mettre une liste qui est dans une feuille du ,même classeur dans un listbox .
une fois le choix fait que le resultat qui est dans la feuille 2 soit mis dans les textbox correspondant et en fin que ce que j'inscris dans les textbox Age et lieu de naissance ce mettent dans la feuille 2 dans la bonne colone .

Tous cela n'etant pas tres explicite je mets mon fichier en piéce jointe.

Par avance merci a tous.
 

Pièces jointes

Re : listbox et textbox dans cellule

MERCI PATRICK

J'ai juste une petit question.

si je veux déplacer les résultats des Textbox 5 6 et 7 dans des cellule qui ne sont pas à la suite comment puis je faire.

je vous mets le dossier joint modifier

encore une fois meric pour votre aide
 

Pièces jointes

Re : listbox et textbox dans cellule

merci encore Patrick

J'ai encore une question.

J'aimerais que le UserForm puisse utilisable sur pluisuer feuille, sachant que toutes les feuilles ont le même format et sont identique à la feuille 2

Merci de votre aide.
 
Re : listbox et textbox dans cellule

Bonjour,

Tout d'abord, j'ai changé le bouton "Adresse" que vous avez dû obtenir par l'intermédiaire de la barre d'outils "Formulaire" ???
J'ai utilisé plutôt le bouton de la boîte à outils contrôles.
1) dans Excel, clic droit dans la barre de menus
2) sélectionner "Visual Basic" puis, dans la barre qui s'affiche cliquer sur le bouton "Boîte à outils Contrôles"
3) dans la barre qui s'affiche, cliquer sur "Bouton de commande"
4) placer le bouton sur la feuille


MARCHE A SUIVRE

1) dans la fenêtre de code de la feuille qui sert de modèle (Feuil2 en l'occurrence) copiez le code suivant

Code:
Private Sub CommandButton1_Click()
Saisie.Show vbModeless
End Sub
2) reproduisez cette feuille plusieurs fois en faisant
* sélectionner onglet
* touche Ctrl enfoncée et maintenue
* cliquer gauche maintenu sur l'onglet jusqu'à l'apparition d'une icône "feuilles avec +"
* déplacer l'onglet latéralement afin d'obtenir une autre feuille
Cette démarche pour copier l'intégralité de la feuille (données, formats, mise en page à l'impression, code VBA)

3) dans la fenêtre de code du UserForm remplacez le code existant par le code suivant

Code:
Dim NOM_SELECTIONNE As String

Private Sub CommandButton1_Click()
Dim R As Range
Dim var
Dim i&
Dim bool
Set R = ActiveSheet.Range("a1:m11")
var = R
var(1, 13) = NOM_SELECTIONNE
var(3, 13) = Me.TextBox1
var(9, 13) = Me.TextBox2
var(8, 13) = Me.TextBox3
var(9, 6) = Me.TextBox4
var(10, 6) = Me.TextBox5
var(11, 6) = Me.TextBox6
R = var
Unload Me
End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i&
With Me.ListBox1
  For i& = 0 To .ListCount - 1
    If .Selected(i&) = True Then
      NOM_SELECTIONNE = .Column(0)
      Me.TextBox1 = .Column(1)
      Me.TextBox2 = .Column(3)
      Me.TextBox3 = .Column(4)
    End If
  Next i&
End With
End Sub

Private Sub TextBox4_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox4) Then
  TextBox4 = Format(TextBox4, "dd/mm/yyyy")
Else
  MsgBox "Saisissez la date au format jj/mm/aaaa"
  TextBox4 = ""
End If
End Sub

Private Sub TextBox6_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox6) Then
  TextBox6 = Format(TextBox6, "hh:mm")
Else
  MsgBox "Saisissez l'heure au format hh:mm"
  TextBox6 = ""
End If
End Sub

Private Sub UserForm_Initialize()
Dim var
var = Sheets("BD").Range("a3:e" & Sheets("BD").[a65536].End(xlUp).Row & "")
With Me.ListBox1
  .ColumnCount = 5
  .ColumnWidths = "20;0;0;0;0"
  .List = var
End With
End Sub

4) dans la fenêtre de code de ThisWorkbook copiez le code suivant

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim OL As OLEObject
Dim bool
'--- On teste si la feuille sélectionnée a un CommandButton1 "Adresse" ---
For Each OL In Sh.OLEObjects
  If OL.Object.Caption = "Adresse" Then
    bool = True
  End If
Next OL
'--- Si absence du CommandButton1 "Adresse" on ferme le UserForm ---
On Error Resume Next    'par sécurité (semble inutile)
If Not bool Then Unload Saisie
End Sub

Cordialement.

PMO
Patrick Morange
 
- 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
16
Affichages
953
Retour