XL 2019 Récupéré donner dans un tableau suivant le choix Checkbox

Tipeu

XLDnaute Nouveau
Bonjour XLDnaute,

Je suis a la recherche d'une solution pour récuperé dans une listbox (USF) et un tableau (SHEET) la valeur des Checkbox (USF) pour récupéré les position(SHEET) associé a celle ci, pour les tracer sous AUTOCAD, or je n'arrive point a trouver le moyen de savoir comment (j'ai pensé au code ci dessous) :

VB:
Private Sub MultiPage1_MouseUp(ByVal Index As Long, ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim i As Integer
    Dim j As Integer
    
    ' On ajoute les objets cochés (dans la UserForm) à la listBox
    For i = 1 To 42
        If Me.Controls("Trou" & i) Then
            tableauValeur(i) = Me.Controls("Trou" & i).Value
            tableauNom(i) = Me.Controls("Trou" & i).Caption
        End If
    Next i
    
    ' On écrit dans la colonne F le nom des cases et dans la colonne G la valeur (cachée ou non)
    Sheets("Feuil2").Select
    For j = 1 To 42
        Cells(j, 6).Value = Me.Controls("Trou" & j).Value
        Cells(j, 7).Value = Me.Controls("Trou" & j).Caption
    Next j
    
End Sub

Mais pour cela il faudrais que je puisse rajouter une proprietes a mes Checkbox pour avoir (dans mon idée) Name : TrouX, pour chaque checkbox defini et Caption : "1A" etc.

Je vous joint mon fichier complet ci joint.

Dans l'attente de lire vos propositions et discuter ensemble du projet.
 

Pièces jointes

  • Traçage_TP.xlsm
    37 KB · Affichages: 9

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Votre demande n'est pas très claire pour moi, mais d'après ce que j'ai compris, dans le fichier joint, j'ai mis à 2 la propriété CollumnCount de la listBox et modifié (voir ci-dessous) la méthode 'ListeDesCochés' de votre module de classe 'cbxCollect' ainsi que sa méthode Add.

Utilisation de la propriété Tag du checkbox pour transmettre un indice mais ce pourrait être n'importe quelle valeur (string) y compris telle que '5;trucMachin;12/10/2020' qu'il suffirait ensuite de splitter sur le point-virgule, pour en récupérer les valeurs distinctes.

Dans module de classe CbxCollect :
VB:
Public Sub Add(ByVal Nom As String, X As Double, ByVal Y As Double)
   Dim SocleCkx As SupportCkx, Ctl As MSForms.Control
   Set SocleCkx = New SupportCkx
   Set Ctl = Cts.Add("Forms.CheckBox.1")
   Ctl.Tag = Cln.Count + 1 ' 
   SocleCkx.Init Me, Ctl, Nom
   Cln.Add SocleCkx, Nom
   Ctl.Left = X: Ctl.Top = Y
   End Sub
Dans module de classe SupportCbx :

Code:
Public Property Get Tag() As String
    Tag = Ckx.Tag
End Property

A vous de modifier, ou compléter.
 

Pièces jointes

  • Traçage_TP.xlsm
    45.7 KB · Affichages: 9

Tipeu

XLDnaute Nouveau
Excuser moi pour le manque de clarté c'est difficile a expliquer, en soit j'aimerais que lorsque l'utilisateur coche les cases sur la pages 2 de mon USF.Multipage, c'est cases vont chercher les valeurs X/Y tu tableau en feuille 1 pour apres les dessiner automatiquement sur AutoCad.
Mais aussi en page 3 l'utilisateur pourras cocher les cases au choix dans la listbox page 3 ce qui permet sur autocad de tracer une option en plus sur l'objet. (Sur autocad il s'agit de cercle du diametre choisis en page 1, au quel nous voulons rajouter a souhait un second cercle annexe).
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87