Problème avec checkbox

  • Initiateur de la discussion Initiateur de la discussion baboss
  • 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 !

baboss

XLDnaute Nouveau
Bonjour,

mon problème a peu être déja était posté mais je n'ai pas trouver la solution a mon problème.

Je doit faire une petite application excel pour saisir les réponse a un questionnaire.

Le questionnaire est composé de 26 questions pour lesquels ils y a 4 choix possible (pas content à content).

J'ai pensé faire un formulaire avec les 26 questions comprenant chacune 4 case a cocher. (donc 104 checkbox)

J'ai nomé mes checkbox Q1_1, Q1_2, Q1_3,Q1_4,Q2_1 etc.
J'ai nomé mes checkbox en fonction de la question auquel ils sont reliés (Q1=question 1) et de la valeur que je veux récupérer si elle est coché (1,2,3 ou4)
Les questions ne sont pas dans l'ordre (Q8 puis Q2 puis Q5 puis Q4 etc)

J'ai essayer faire un code avec 2 boucles for (i =1 a 26 , j =1 a 4)
z une variable string récupère une chaine de caractere du type
Code:
z="Q" & [i] & "_" & [j]
z m'affiche bien les valeur Q1_1 etc.
je voulais faire quelque chose du genre:

Code:
if z.value=true then
x=split(z,"_")
y=x(0)
w=x(1)
end if

pour récupérer le nom de la question exemple "Q1"
et la valeur du choix (1 à 4)

Mais Z.value ne marche pas bien sur.

Alors si vous voyez comment faire merci car j'ai bcp de mal.

merci
 
Re : Problème avec checkbox

Bonjour,

regarde le code ci-dessous si il peut t'aider, pour des contrôles placés directement sur une feuille de calcul, à adapter à ton projet :

Code:
Dim i As Byte, j As Byte, z As String
i = 2
j = 3
z = "Q" & i & "_" & j
If Sheets("Feuil1").OLEObjects(z).Object.Value = True Then MsgBox "coché"

bonne journée
@+
 
Re : Problème avec checkbox

Bon j'ai trouvé une solution avec ce code.
Code:
Private Sub CommandButton1_Click()
Dim n As Variant
Dim num As Integer
Dim Q As String
Dim z As String
Dim X As Variant
Dim i, j As Integer
Dim Ctrl As Control

For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
    For i = 1 To 1 '26

        For j = 1 To 1
        z = "Q" & [i] & "_" & [j]
        'MsgBox (z)
            If Ctrl.Value = True And Ctrl.Name = z Then
            'MsgBox (Ctrl.Name)
            X = Split(z, "_")
            Q = X(0)
            num = X(1)
            MsgBox (Q)
            MsgBox (num)
            End If
        Next j
    Next i
End If
Next Ctrl
End Sub

ca me donne la première partie du nom du checkbox dans Q et la seconde dans num.
Je devrais pouvoir m'en sortir ac ca.

Désolé du dérangement.
 
Re : Problème avec checkbox

bon j'ai finit mon programme.
Bon bien sur il est pas tres beau, certain aurai pus faire mieu c'est sur mais il marche c'est l'essentielle.
Bien sur mon programme ne marche que pour ce questionnaire car les questions sont triés d'une certaine facon pour certain calcule.
Mais je vous le met si ca peu aider.
c'est sur la feuille resultat que sont mis les 2 boutons.
La première feuille se sont les question telque sur le questionnaire.
Et la troisieme il y a les formules des différents calcule.
Amusez vous bien
 

Pièces jointes

- 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
18
Affichages
808
Réponses
3
Affichages
151
Réponses
90
Affichages
6 K
Réponses
72
Affichages
1 K
Réponses
12
Affichages
620
Retour