Aide pour creer un module de classe concernant des frame

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 !

cpeens

XLDnaute Occasionnel
Bonsoir à tous j'aurais besoin de votre aide pour creer un module de classe.

j'ai des frames dont la premier caractere commence par A D ou P suivie d'un numero le soucis c'est que ses numero ne se suive pas obligatoirement en A1 et A100 il se peut qu'il n y es pas de A50 ou autre.

le but de ses frame en cliquant dessus je souhaite faire ce genre de macro

Code:
Private Sub A118_Click()
With UserForm1
  For li = 1 To L1.ListItems.Count
combobox1 = A118.caption
  End With
End Sub

le probleme j'ai plus de 100 frames à faire la même chose j'ai donc penser au module de classe soucis je maitrise pas vraiment cette partis du vba

pouvez vous m'aider svp merci
 
Re : Aide pour creer un module de classe concernant des frame

Bonjour habitude

j'ai ta solution est bien ce que je recherche mais quand je l'adapte à mon projet j'ai une erreur type definit par l'utilisateur introuvable.pourais tu jeter un oeil svp pour voir ou sa viens car je nage totale.
 

Pièces jointes

Re : Aide pour creer un module de classe concernant des frame

Re bonjoujour habitute je te remercie pour la résolution de ce probleme derniere chose il semble que ta solution soit incompatible avec la macro que j'utilise pour faire ma recherche par mot clef ou dans ma macro il manque quelque chose il me dis que variable non definie alors que sans le code que tu ma proposé tous fonctionnais bien j'ai tenté de mettre Dim aa as long ubount est surligné et il m'ecrit tableau atendu es vraiment une incompatibilité stp

Code:
Option Explicit
Dim mesFrames As New CFrames




    Private Sub C4_Change()
[COLOR="yellow"]dim aa as long[/COLOR] 
      Dim i&, fin&
  
    If C4 = "" Then L1.ListItems.Clear: Label6.Caption = "": Exit Sub
    fin = Feuil1.Range("A65536").End(xlUp).Row
    aa = Feuil1.Range("A4:I" & fin)
    For i = 1 To [COLOR="yellow"]UBound[/COLOR](aa)
        For a = 1 To UBound(aa, 2)
            If aa(i, a) Like "*" & C4 & "*" Then aa(i, 9) = "oui"
        Next a
    Next i
    Y = 1
    For i = 1 To UBound(aa)
        If aa(i, 9) = "oui" Then Y = Y + 1
    Next
    If Y = 2 Then Label6.Caption = Y - 1 & " Ligne faisant référence à votre recherche a été trouvée "
    If Y > 2 Then Label6.Caption = Y - 1 & " Lignes faisant référence à votre recherche ont été trouvées  "
    If Y < 2 Then L1.ListItems.Clear: Label6.Caption = "": GoTo 1
    ReDim bb(Y - 1, 8)
    Y = 1
    For i = 1 To UBound(aa)
        If aa(i, 9) = "oui" Then
            For a = 1 To 8
                bb(Y, a) = aa(i, a)
            Next a
            Y = Y + 1
        End If
    Next i
    With L1
        .ListItems.Clear
        .View = lvwReport
        .FullRowSelect = True
        .Gridlines = True
        For i = 1 To UBound(bb)
            .ListItems.Add , , bb(i, 1)
            For a = 2 To UBound(bb, 2)
                .ListItems(.ListItems.Count).ListSubItems.Add , , bb(i, a)
            Next a
        Next i
1   End With
On Error Resume Next
With UserForm1

  
End Sub


Private Sub Frame1_Click()

End Sub

Private Sub UserForm_Initialize()
 With L1
        With .ColumnHeaders
            .Clear
            .Add , , "N° Dans amoire", 60
           .Add , , "N° de Porte", 60
            .Add , , "Cylindre", 60, 2
            .Add , , "Type", 60, 2
            .Add , , "Adresse", 300, 2
            .Add , , "Coordonnée", 100, 2
            .Add , , "Remarque", 180, 2
        End With
        .View = lvwReport
        .FullRowSelect = False
    End With
    
    Dim c, n, ctrl: Set mesFrames.Parent = Me: Set mesFrames.Combo = C4
For Each ctrl In Me.Controls
    c = UCase(Left(ctrl.Name, 1)): n = Right(ctrl.Name, Len(ctrl.Name) - 1)
    If (c = "A" Or c = "D" Or c = "P") And IsNumeric(n) Then mesFrames.Add Me.Controls(ctrl.Name)
Next ctrl

    
    
    
End Sub

merci d'avance de ta patience
 
Re : Aide pour creer un module de classe concernant des frame

Re

En début de code, il y a un
Option explicit

Ce qui t'oblige a tout déclarer

Tu déclare
dim aa as long

Met a la place
Dim aa as variant

Autrement supprime tes déclaration ansi que le Option Explicit
 
Re : Aide pour creer un module de classe concernant des frame

Bonjour bebere bonjour habitude merci à vous deux sa fonctionne bien en tous cas merci à habitude pour sa petience et a bebere pour m'avoir simplifier ma macro à trés biento a vous deux
 
Re : Aide pour creer un module de classe concernant des frame

bonjour Cpeens,Habitude
Qu'est ce qui est possible.Explique
La combobox est elle utile(rmq de Habitude)
ou si tu cliques sur frame commençant par A remplir la combobox avec tous les A de base
 
Re : Aide pour creer un module de classe concernant des frame

Bonjour à vous deux oups je sais pas pourquoi mon dernier message aà atterie ici lol en tous cas tous fonctionne bien encore merci à vous deux pour répondre à votre question dans l'exemple non la combo est inutile mais dans mon projet elle me sert à filtré les donnée merci à vous deux à bientot tous fonctionne.
 
- 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

Retour