XL 2010 rechercher une valeur pour remplir un label de userform à partir d'une valeur de textbox

loul03

XLDnaute Occasionnel
Bonjour à tous

je souhaite créer une feuille de calcul me synthétisant l'ensemble des mouvements des élèves d'un école élémentaire.

J'aimerais que lorsque dans mon userform, lorsque je saisis dans chacune des textbox (parfois 1 seul élève ou 2 concernés par le passage dans une classe supérieure, dans ce ce cas seules 1 ou 2 textbox sont sollicitées) le prénom d'un élève, le nom vienne se mettre automatiquement dans le label à droite du prénom.

j'ai tenté un code mais il me bloque et je ne parviens pas à situer mon erreur.

Le but du userform est de saisir des groupes d'élèves subissant un mouvement de classe en même temps et vers le même lieu, et d'enregistrer pour chacun de ces élèves une ligne reprenant les différentes informations dans l'onglet "enregistrement des mouvements"

l'onglet base de données : 1 ligne= renseignements d'un élève => 1 ligne par élève
l'onglet classe : les différentes classes possibles (pour alimenter la combobox du userform) pour le moment je n'ai mis que les classes mais je réflechis à ajouter à cette liste les sorties scolaires
l'onglet enregistrement des données = qui crée pour chaque mouvement d'élève 1ligne reprenant les infos du mouvement => au fil des ans, 1même élève ayant plusieurs mouvements nous aurons plusieurs lignes à son nom. (et ensuite dans un TCD je pourrais synthétiser les mouvements des dernières années de tel ou tel élève. mais ça c'est dans un 2ème temps. il faut d'abord que je parvienne à faire fonctionner mon userform... ;)

Je vous remercie par avance de l'aide que vous saurez m'apporter,

Loul
 

Pièces jointes

  • classe.xlsm
    30.1 KB · Affichages: 14

cp4

XLDnaute Barbatruc
Bonjour,

Je ne trouve pas judicieux d'utiliser les prénoms pour rechercher les noms.
L'inverse est plus indiqué car on peut avoir les prénoms en doublons.
Ensuite, tu as 20 textboxs pour les élèves et un seul champ commentaires.
Est-ce que le commentaire est commun à tous les élèves?

Bon week-end.
 

loul03

XLDnaute Occasionnel
Bonjour CP4 et merci pour ton retour
Oui le commentaire est a attribuer à tous . C est pour indiquer, par exemple, que la sortie c est faite en bus,ou pour rappeler les différentes activités.
Tu as sans doute raison pour les prénoms et noms!😉
Bon week end également !
 

ChTi160

XLDnaute Barbatruc
Bonjour loul03
Bonjour le Fil (cp4) ,le Forum

Pourquoi , n'y a t-il pas dans la base de Données de référence à la Classe des élèves , ce serait plus pratique pour traiter les Listes lors du choix d'une Classe . Non ?
Bonne journée
Jean marie
 

loul03

XLDnaute Occasionnel
Bonjour jean marie,
Je ne mets pas la classe de l eleve dans la base, parce que le but c est que ce tableau suive chaque élève tout au long de sa scolarité. Si je mets la classe actuelle de l élève dans la base, cela ne sera plus vrai l an prochain
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour loul03, cp4, Jean-Marie

Je viens m'incruster dans le post sans toutefois apporter de solution.
J'essayais de rechercher dans mes archives un fichier avec Drag and Drop vers ListBox (de notre ami @+Thierry) mais je ne le retrouve pas. Ce serait plus simple pour la sélection. Si une bonne âme avait cela en réserve, ce serait sympa et pour loul03 et pour moi.
Bonne après-midi à toutes & à tous
@+ Eric c
 

cp4

XLDnaute Barbatruc
@cp4 il est facultatif!
Eric je ne vais pas pouvoir t aider la, c'est du chinois pour moi!🤣
à tester sans modération. à la saisie la liste des noms/prénoms se réduit, il suffit de cliquer sur l'élève.
En bonus calendrier autonome de PatrickToulon;).
D'après ce que j'ai compris.

edit: correction mineure, fichier mis à jour.
 

Pièces jointes

  • classe_v1.xlsm
    68.9 KB · Affichages: 22
Dernière édition:

loul03

XLDnaute Occasionnel
Merci CP4. ça fonctionne bien ce que tu me donnes là. Par contre je pensais plutot renseigner plusieurs élèves à la suite sans forcement repasser par le menu déroulant. Le mouvement concernerait l'ensemble des élèves indiqué, ce qui veut dire que la date du mouvement est la même pour tous. là je dois ressaisir la date à chaque saisie d'élève. une idée?
 

loul03

XLDnaute Occasionnel
Merci CP4. ça fonctionne bien ce que tu me donnes là. Par contre je pensais plutot renseigner plusieurs élèves à la suite sans forcement repasser par le menu déroulant. Le mouvement concernerait l'ensemble des élèves indiqué, ce qui veut dire que la date du mouvement est la même pour tous. là je dois ressaisir la date à chaque saisie d'élève. une idée?
tu as fait du sacré boulot en tout cas!! ;)
 

Eric C

XLDnaute Barbatruc
Re le fil,

@loul03 : ce qui veut dire que la date du mouvement est la même pour tous.
Je me permets cp4 :
Dans ce cas, tu ne réinitialises pas tous les contrôles :
VB:
Private Sub Bt_Ajout_Click()
'si tous les controles sont renseignés
    Dim Ctrl As Control
    For Each Ctrl In Me.Controls
        If (TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox) Then
            If Ctrl.Name <> "com_mvt" Then
                If Ctrl.Object.Value = "" Then
                    MsgBox "Complétez les contrôles!"
                    Exit Sub
                End If
            End If
        End If
    Next Ctrl

    'on alimente la listbox
    Me.ListBox1.AddItem Me.date_mvt
    n = Me.ListBox1.ListCount - 1
    Me.ListBox1.List(n, 1) = Me.TxtNom
    Me.ListBox1.List(n, 2) = Me.TxtPrenom
    Me.ListBox1.List(n, 3) = CDate(Me.TxtDatNaiss)
    Me.ListBox1.List(n, 4) = Me.lieu_mvt
    Me.ListBox1.List(n, 5) = Me.com_mvt

   ' on vide les controles
   ' For Each Ctrl In Me.Controls
      '  If (TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox) Then Ctrl.Object.Value = ""
   ' Next Ctrl

   lieu_mvt.Value = ""
  ChoixNom.Value = "" 

End Sub
@+ Eric c
 

loul03

XLDnaute Occasionnel
Merci à toi Eric! j'étais parti du code de cp4 "complétez les contrôles" pour faire en sorte que date_mvt et lieu_mvt ne s'efface pas. j'ai réussi à l'adapter!

Par contre, combien de colonnes peut on ajouter dans la listbox. J'ai voulu ajouter des données, ok pour ajouter jusqu'à 9 colonnes mais à la 10ème. il me met erreur 380: impossible de définir la propriété list. c'est pourtant le Me.ListBox1.List(n, 10) = Me.com_mvt (qui est donc juste passer de la colonne 5 à 10 de la listbox.)
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33