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"

  • Initiateur de la discussion Initiateur de la discussion maval
  • Date de début Date de début

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 !

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

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
 
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+
 
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
 
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
 
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
 
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
 
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 ?

@+
 
- 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
5
Affichages
477
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
502
Réponses
14
Affichages
472
Réponses
4
Affichages
377
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…