Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Récuperer les éléments des feuilles sur Usf "Multipage"

maval

XLDnaute Barbatruc
Bonjour

J'ai un USF avec 3 feuilles multipage, j'aimerai récupéré les données de mes trois feuilles excel nomé " Ecole, Diplômes, Observations "sur mon multipage en fonction du nom dans la combobox.

Je vous remercie d'avance
 

Pièces jointes

  • Classeur3.xlsm
    27.8 KB · Affichages: 37
  • Classeur3.xlsm
    27.8 KB · Affichages: 44

CHALET53

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Bonjour,

La façon de récupérer tes données dépend aussi de ce que tu veux faire avec :
Un multipage n'est peut-être pas la bonne solution
La structure des deux feuilles étant identiques, Ce peut être une listbox (ou listview) qui reprend sur 2 lignes pour chaque individu les infos des deux feuilles

A préciser
 

CHALET53

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Tu veux pouvoir modifier les infos pour ensuite les renvoyer dans les feuilles excel concernées (Textbox approprié)
ou
simplement les afficher (sans modif) : Label (suffisant)

a+
 

youky(BJ)

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Bonjour,
Voici un bon début, il sera facile de faire pareil pour les 2 autres pages du multipage
Suis pas chez moi aujourd'hui.
Bruno
 

Pièces jointes

  • Classeur4.xlsm
    23.8 KB · Affichages: 35
  • Classeur4.xlsm
    23.8 KB · Affichages: 29

youky(BJ)

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

J'avais qlq minutes avant de partir
Tout est fait
Bonne suite Bruno
 

Pièces jointes

  • Classeur4.xlsm
    25.5 KB · Affichages: 62
  • Classeur4.xlsm
    25.5 KB · Affichages: 61

maval

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Re,

Pouvoir modifier les infos pour ensuite les renvoyer dans les feuilles excel concernées (Textbox approprié)

Je te remercie bneaucoup
 

youky(BJ)

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Bonsoir maval,
Non pas obligé de passer par des listbox, pourtant elles sont bien pratique dans ton cas, bien visible et simple à utiliser
Sinon des textbox ou encore une listview(pas toujours disponible selon PC)
A toi de voir
Je pense qu'il faut ajouter une page au multipage pour gérer les noms d'élèves.
Bruno
 

maval

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Re,

J'ai se code sur un autre projet qui permet de ne mettre aucun contrôle Physiquement peut en servir

Si besoin est je t'envoie le fichier?

Code:
Dim ObjAnnee, ObjFilm As Control
Dim Cl As Classe1
Dim f, g As Integer
g = 1
Set Collect = New Collection
LigF = LigF - 1
With Sheets("BdD_Filmographie")
For i = 2 To 100
If .Cells(LigF, i) <> "" Then
    tableau = Split(.Cells(LigF, i), ",")
        For j = 0 To UBound(tableau)
        Set ObjAnnee = Me.MultiPage1.Pages(2).Controls.Add("forms.TextBox.1") 'Textbox gauche
        With ObjAnnee
            .Name = "TextAnnee" & g
            .Left = 12
            .Top = 1 + (g * 1) * 25
            .Width = 60
            .Height = 18
            .Text = Sheets("BdD_Filmographie").Cells(1, i)
            .SpecialEffect = 0
            .BackColor = &H8000000F
            '.ForeColor = &HFFFFFF
        End With

        Set Cl = New Classe1
        Set Cl.TextBox = ObjAnnee
        Collect.Add Cl

        Set ObjFilm = Me.MultiPage1.Pages(2).Controls.Add("forms.TextBox.1") ' Textbox droite
        With ObjFilm
            .Name = "TextFilm" & g
            .Left = 90
            .Top = 1 + (g * 1) * 25
            .Width = 160
            .Height = 18
            .Text = tableau(j)
            .SpecialEffect = 0
            .BackColor = &H8000000F
            '.ForeColor = &HFFFFFF
        End With

        Set Cl = New Classe1
        Set Cl.TextBox = ObjFilm
        Collect.Add Cl
        g = g + 1
    Next
End If
Next
If g > 10 Then
MultiPage1.Pages(2).ScrollHeight = 27 * g
End If
End With

@+

Max
 

youky(BJ)

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Re,
je viens de mettre ton code en Initialize et ça plante.
Ce code crée des textbox, pour aller travailler dessus ensuite (trop compliqué pour moi).
Et si ça marche pas chez moi tu vas au devant des PB, je sais pas ce qu'il manque sur ma version office2007.
Voila . . . .
Bruno
 

maval

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Re,

Peut être il manque le module de classe
Code:
Public WithEvents TextBox As MSForms.TextBox

Mon code entier

Code:
Private Sub UserForm_Initialize()
MultiPage1.Pages(0).Visible = True:
Me.MultiPage1.Value = 0 ' Activer la page d'accueil
         

  Dim LigF As Long
  Dim Rep, NomFic, sheetsUse As String
  Dim i, j As Integer
  Dim tableau() As String

  If choose Then
  sheetsUse = "BdD Noms"
  Rep = "J:\Réalisateur\"
  Else
  sheetsUse = "BdD Acteurs"
  Rep = "J:\acteur\"

  End If


  ' Trouver la ligne correspondante au réalisateur
  ' Avec la feuille contenant les noms
  With Sheets(sheetsUse)
    ' Dans la colonne
    With .Columns("B:B")
      ' En cas d'erreur : nom non trouvée, n continue
      On Error Resume Next
      ' Trouver la ligne contenant le nom
      LigF = 1  ' initialiser
      LigF = .Find(What:=NomRéalisateur, LookIn:=xlValues, LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Row
      ' Suivi des erreurs normal
      On Error GoTo 0
    End With
    ' Si pas de ligne trouvée
    If LigF = 1 Then Exit Sub
    LigF = LigF
    ' sinon
    Me.Label13.Caption = NomRéalisateur
    Me.TextBox1.Value = .Range("A" & LigF).Value
    Me.TextBox2.Value = .Range("B" & LigF).Value
    Me.TextBox3.Value = .Range("C" & LigF).Value
    Me.TextBox4.Value = .Range("D" & LigF).Value
    Me.TextBox5.Value = .Range("E" & LigF).Value
    Me.TextBox6.Value = .Range("F" & LigF).Value
    If .Range("G" & LigF).Value <> "" Then
    Me.TextBox7.Value = .Range("G" & LigF).Value
    
    
    
    Else
    Me.TextBox7.Value = "Non décédé"
    End If
  End With

NomFic = Label13.Caption

Image1.Visible = True
If Dir(Rep & NomFic & ".jpg") <> "" Then
    Image1.Picture = LoadPicture(Rep & NomFic & ".jpg")
Else
    Image1.Picture = LoadPicture: End If

'***************************************************

Dim ObjAnnee, ObjFilm As Control
Dim Cl As Classe1
Dim f, g As Integer
g = 1
Set Collect = New Collection
LigF = LigF - 1
With Sheets("BdD_Filmographie")
For i = 2 To 100
If .Cells(LigF, i) <> "" Then
    tableau = Split(.Cells(LigF, i), ",")
        For j = 0 To UBound(tableau)
        Set ObjAnnee = Me.MultiPage1.Pages(2).Controls.Add("forms.TextBox.1") 'Textbox gauche
        With ObjAnnee
            .Name = "TextAnnee" & g
            .Left = 12
            .Top = 1 + (g * 1) * 25
            .Width = 60
            .Height = 18
            .Text = Sheets("BdD_Filmographie").Cells(1, i)
            .SpecialEffect = 0
            .BackColor = &H8000000F
            '.ForeColor = &HFFFFFF
        End With

        Set Cl = New Classe1
        Set Cl.TextBox = ObjAnnee
        Collect.Add Cl

        Set ObjFilm = Me.MultiPage1.Pages(2).Controls.Add("forms.TextBox.1") ' Textbox droite
        With ObjFilm
            .Name = "TextFilm" & g
            .Left = 90
            .Top = 1 + (g * 1) * 25
            .Width = 160
            .Height = 18
            .Text = tableau(j)
            .SpecialEffect = 0
            .BackColor = &H8000000F
            '.ForeColor = &HFFFFFF
        End With

        Set Cl = New Classe1
        Set Cl.TextBox = ObjFilm
        Collect.Add Cl
        g = g + 1
    Next
End If
Next
If g > 10 Then
MultiPage1.Pages(2).ScrollHeight = 27 * g
End If
End With

'******************************************

End Sub

Voilà fait pour le mieux sinon ?

@+
 

youky(BJ)

XLDnaute Barbatruc
Re : Récuperer les éléments des feuilles sur Usf "Multipage"

Re, voila ou j'en suis
Seulement en lecture, pour modifier j'ai pas encore regardé.
pas l'utilité d'un module de Classe
Bruno
 

Pièces jointes

  • Classeur3.xlsm
    31.1 KB · Affichages: 34
  • Classeur3.xlsm
    31.1 KB · Affichages: 40

Discussions similaires

Réponses
7
Affichages
507
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…