probléme de validation

Bourn

XLDnaute Nouveau
J'ai un une List box que Jai récupérer et qui affiche une liste de noms d’élèves,

normalement quand je double clic sur une ligne de cette listebox un userform s’affiche pour indiquer certains détails de cette ligne afin de consulter ou même de les modifier.

Le problème j’arrive pas à valider après modification .



je vous remercie
 

Pièces jointes

  • RechIntuitif ElevesTabFrame (2).xlsm
    101.7 KB · Affichages: 5
  • RechIntuitif ElevesTabFrame (2).xlsm
    101.7 KB · Affichages: 4

fanch55

XLDnaute Barbatruc
Bonjour,
Les variables Wsbd et Lig ne sont pas déclarés dans Bt1_Click

Je suppose que Wsbd est la feuille contenant la BD.

Lig se retrouve dans ListBox1_DblClick : Lig = ListBox1.List(ListBox1.ListIndex, 16)

En l’occurrence, si on double-clique sur la ligne 1 du listbox, Lig = "CE2", ce qui ne fonctionnera pas du tout avec le code de Bt1_Click.

Le code ci-dessous selon ce que j'en ai compris devrait vous guider .
tout étant basé sur la recherche du matricule, ne laissez pas la textbox du Matricule en saisie .
VB:
Private Sub Bt1_Click()
Dim Lob As ListObject
Dim R As Range
    Set Lob = [Tableau13].ListObject
    Set R = Lob.ListColumns("Matricule").DataBodyRange.Find(T1, LookIn:=xlValues, lookat:=xlWhole)
    If Not R Is Nothing Then
        Lob.Parent.Unprotect "Paritec"
        Lig = R.Row - Lob.Range.Row
        Lob.ListColumns("Nom & Prenoms").DataBodyRange.Rows(Lig) = T2
        Lob.ListColumns (".............").DataBodyRange.Rows(Lig) = ....
        ...
    End If
    Unload Me
End Sub

Ceci dit, je ne vois pas ce qu'apporte le 2ème Userform , tout est déjà dans le premier . 🤔
 

Bourn

XLDnaute Nouveau
Je vous remercie infiniment pour votre aide et le temps que vous sacrifiez pour moi mais pour être franc avec vous, je suis nul en vba .

J’ai essayé il m’affiche à chaque fois



Erreur de compilation

Variable non définie
 

Pièces jointes

  • RechIntuitif ElevesTabFrame (2).xlsm
    101.1 KB · Affichages: 5

fanch55

XLDnaute Barbatruc
J'avais mis la déclaration de la variable Lig dans un autre module.
Code corrigé:
VB:
Private Sub Bt1_Click()
Dim Lob As ListObject, Lig As Long
Dim R As Range
    Set Lob = [Tableau13].ListObject
    Set R = Lob.ListColumns("Matricule").DataBodyRange.Find(T1, LookIn:=xlValues, lookat:=xlWhole)
    If Not R Is Nothing Then
        Lob.Parent.Unprotect "Paritec"
        Lig = R.Row - Lob.Range.Row
        Lob.ListColumns("Nom & Prenoms").DataBodyRange.Rows(Lig) = T2
        Lob.ListColumns (".............").DataBodyRange.Rows(Lig) = ....
        ...
    End If
    Unload Me
End Sub
Cependant, il faut mettre ce que vous voulez actualiser , je n'ai pas tout mis dans :
Lob.ListColumns (".............").DataBodyRange.Rows(Lig) = ....
...
 

Discussions similaires

Réponses
18
Affichages
594
Réponses
36
Affichages
1 K

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef