Affecter un nom à une checkbox
Résolu
grace
-
melanie1324 Messages postés 1561 Statut Membre -
melanie1324 Messages postés 1561 Statut Membre -
Bonjour,
J'aimerais savoir comment on affecte une valeur à une checkbox.
En effet lorsque la checkbox est cochée (checkbox1.value=True) j'aimerais pouvoir dire checkbox1.value=Machine.
Mais ca ne marche pas aussi facilement...
Car ensuite je veux pouvoir utiliser le mot machine pour pouvoir faire une recherche dans un registre et copier toutes les lignes donc la première cellule contient le mot machine.
Merci d'avance, j'utilise VBA avec Excel 2003.
PS : en réalité j'ai 11 checkbox avec 11noms de machine différents et je veux faire la recherche en fonction des machines cochées par l'utilisateur.
J'aimerais savoir comment on affecte une valeur à une checkbox.
En effet lorsque la checkbox est cochée (checkbox1.value=True) j'aimerais pouvoir dire checkbox1.value=Machine.
Mais ca ne marche pas aussi facilement...
Car ensuite je veux pouvoir utiliser le mot machine pour pouvoir faire une recherche dans un registre et copier toutes les lignes donc la première cellule contient le mot machine.
Merci d'avance, j'utilise VBA avec Excel 2003.
PS : en réalité j'ai 11 checkbox avec 11noms de machine différents et je veux faire la recherche en fonction des machines cochées par l'utilisateur.
A voir également:
- Affecter un nom à une checkbox
- Annuaire portable gratuit a partir d'un nom ✓ - Forum Mobile
- Nom de l'adresse - Forum Réseaux sociaux
- Nom d'adresse - Forum Jeux vidéo
- Trouver un nom avec une adresse ✓ - Forum Réseaux sociaux
- Nom sonnerie iphone - Forum iPhone
4 réponses
bonjour,
au lieu d'appeler checkbox1, tu peux la nommer machine1.
Pour cela, tu vas dans propriété, dans Name, tu as checkbox1. Au lieu de checkbox1, mets le nom de ta machine.
Ou alors utilises des varaibles :
if checkbox1.value =true then
machine1 = Machine
end if
if checkbox2.value = true then
machine2 = machine
end if
au lieu d'appeler checkbox1, tu peux la nommer machine1.
Pour cela, tu vas dans propriété, dans Name, tu as checkbox1. Au lieu de checkbox1, mets le nom de ta machine.
Ou alors utilises des varaibles :
if checkbox1.value =true then
machine1 = Machine
end if
if checkbox2.value = true then
machine2 = machine
end if
Merci pour ta réponse mais j'avais déja essayé et cela ne marche pas.
Le principe est la recherche d'un défaut parmis un registre et la création d'un tableau récapitulatif en fonction de ce que l'utilisateur à choisi.
Dans ma userform principale, la personne choisi dans une liste déroulante le défaut qui l'intéresse. Des checkbox sont automatiquement activées. Elles correspondent aux machines concernées par ce défaut. L'utilisateur peut (à souhait) décocher une ou plusieurs machines.
Le but est d'éditer un tableau récapitulatif des données en fonction du défaut choisi (combobox) et des machines sélectionnées (checkbox) en faisant une recherche dans le registre d'origine.
Je suis arrivée a éditer un tableau récap en fonction du défaut choisi mais je n'arrive pas à insérer le parametre checkbox sélectionnée.
Ci-dessous le code qui fonctionne :
Private Sub CommandButton1_Click()
'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionner une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionner un défauts qualité dans la liste déroulante"
End If
Dim i As Integer
Dim n As Integer
n = 3
i = 2
MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait 'affiche le sablier
'Suppression des données du récap
Worksheets("Recap").Range("A3:V1402").ClearContents
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""
If Cells(i, 2) = défauts And Cells(i, 1) = TOMI Then
Worksheets("Registre").Select
Worksheets("Registre").Rows(i).Select
Worksheets("Registre").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("Registre").Select
End If
i = i + 1
Loop
'Trier les données par machine
Worksheets("Recap").Select
Range("A2:V1403").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Application.Cursor = xlDefault 'remet le curseur par défaut
End Sub
Merci pour ton aide ;-)
Le principe est la recherche d'un défaut parmis un registre et la création d'un tableau récapitulatif en fonction de ce que l'utilisateur à choisi.
Dans ma userform principale, la personne choisi dans une liste déroulante le défaut qui l'intéresse. Des checkbox sont automatiquement activées. Elles correspondent aux machines concernées par ce défaut. L'utilisateur peut (à souhait) décocher une ou plusieurs machines.
Le but est d'éditer un tableau récapitulatif des données en fonction du défaut choisi (combobox) et des machines sélectionnées (checkbox) en faisant une recherche dans le registre d'origine.
Je suis arrivée a éditer un tableau récap en fonction du défaut choisi mais je n'arrive pas à insérer le parametre checkbox sélectionnée.
Ci-dessous le code qui fonctionne :
Private Sub CommandButton1_Click()
'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionner une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionner un défauts qualité dans la liste déroulante"
End If
Dim i As Integer
Dim n As Integer
n = 3
i = 2
MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait 'affiche le sablier
'Suppression des données du récap
Worksheets("Recap").Range("A3:V1402").ClearContents
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""
If Cells(i, 2) = défauts And Cells(i, 1) = TOMI Then
Worksheets("Registre").Select
Worksheets("Registre").Rows(i).Select
Worksheets("Registre").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("Registre").Select
End If
i = i + 1
Loop
'Trier les données par machine
Worksheets("Recap").Select
Range("A2:V1403").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Application.Cursor = xlDefault 'remet le curseur par défaut
End Sub
Merci pour ton aide ;-)
Re,
voici une solution :crées une feuille que tu appelles Machines :
Private Sub CommandButton1_Click()
' préparation des machines
j=1
sheets("Machines").columns(1).clear
if checkbox1.value = true then
sheets("Machines").cells(j,1) = checkbox1.caption
end if
if checkbox2.value = true then
sheets("Machines").cells(j,1) = checkbox2.caption
end if
'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionner une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionner un défauts qualité dans la liste déroulante"
End If
Dim i As Integer
Dim n As Integer
n = 3
i = 2
MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait 'affiche le sablier
'Suppression des données du récap
Worksheets("Recap").Range("A3:V1402").ClearContents
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""
If Cells(i, 2) = défauts then
j=1
do while sheets(j,1)<> ""
if cells(i,1) = sheets("Machines").cells(j,1) then
Worksheets("Registre").Select
Worksheets("Registre").Rows(i).Select
Worksheets("Registre").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("Registre").Select
end if
j=j+1
loop
End If
i = i + 1
Loop
'Trier les données par machine
Worksheets("Recap").Select
Range("A2:V1403").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Application.Cursor = xlDefault 'remet le curseur par défaut
End Sub
voici une solution :crées une feuille que tu appelles Machines :
Private Sub CommandButton1_Click()
' préparation des machines
j=1
sheets("Machines").columns(1).clear
if checkbox1.value = true then
sheets("Machines").cells(j,1) = checkbox1.caption
end if
if checkbox2.value = true then
sheets("Machines").cells(j,1) = checkbox2.caption
end if
'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionner une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionner un défauts qualité dans la liste déroulante"
End If
Dim i As Integer
Dim n As Integer
n = 3
i = 2
MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait 'affiche le sablier
'Suppression des données du récap
Worksheets("Recap").Range("A3:V1402").ClearContents
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""
If Cells(i, 2) = défauts then
j=1
do while sheets(j,1)<> ""
if cells(i,1) = sheets("Machines").cells(j,1) then
Worksheets("Registre").Select
Worksheets("Registre").Rows(i).Select
Worksheets("Registre").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("Registre").Select
end if
j=j+1
loop
End If
i = i + 1
Loop
'Trier les données par machine
Worksheets("Recap").Select
Range("A2:V1403").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Application.Cursor = xlDefault 'remet le curseur par défaut
End Sub
Je viens de m'apercevoir d'une petite erreur et à adapter aux 11 autres :
if checkbox1.value = true then
sheets("Machines").cells(j,1) = checkbox1.caption
j=j+1
end if
if checkbox2.value = true then
sheets("Machines").cells(j,1) = checkbox2.caption
j=j+1
end if
....
if checkbox10.value = true then
sheets("Machines").cells(j,1) = checkbox10.caption
j=j+1
end if
if checkbox11.value = true then
sheets("Machines").cells(j,1) = checkbox11.caption
j=j+1
end if
if checkbox1.value = true then
sheets("Machines").cells(j,1) = checkbox1.caption
j=j+1
end if
if checkbox2.value = true then
sheets("Machines").cells(j,1) = checkbox2.caption
j=j+1
end if
....
if checkbox10.value = true then
sheets("Machines").cells(j,1) = checkbox10.caption
j=j+1
end if
if checkbox11.value = true then
sheets("Machines").cells(j,1) = checkbox11.caption
j=j+1
end if
Private Sub CommandButton1_Click()
' préparation des machines
j=1
sheets("Machines").columns(1).clear
if checkbox1.value = true then
sheets("Machines").cells(j,1) = checkbox1.caption
j=j+1
end if
if checkbox2.value = true then
sheets("Machines").cells(j,1) = checkbox2.caption
j=j+1
end if
if checkbox3.value = true then
sheets("Machines").cells(j,1) = checkbox3.caption
j=j+1
end if
if checkbox4.value = true then
sheets("Machines").cells(j,1) = checkbox4.caption
j=j+1
end if
if checkbox5.value = true then
sheets("Machines").cells(j,1) = checkbox5.caption
j=j+1
end if
if checkbox6.value = true then
sheets("Machines").cells(j,1) = checkbox6.caption
j=j+1
end if
if checkbox7.value = true then
sheets("Machines").cells(j,1) = checkbox7.caption
j=j+1
end if
if checkbox8.value = true then
sheets("Machines").cells(j,1) = checkbox8.caption
j=j+1
end if
if checkbox9.value = true then
sheets("Machines").cells(j,1) = checkbox9.caption
j=j+1
end if
if checkbox10.value = true then
sheets("Machines").cells(j,1) = checkbox10.caption
j=j+1
end if
if checkbox11.value = true then
sheets("Machines").cells(j,1) = checkbox11.caption
j=j+1
end if
'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionner une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionner un défauts qualité dans la liste déroulante"
End If
Dim i As Integer
Dim n As Integer
n = 3
i = 2
MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait 'affiche le sablier
'Suppression des données du récap
Worksheets("Recap").Range("A3:V1402").ClearContents
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""
If Cells(i, 2) = défauts then
j=1
do while sheets("Machines").cells(j,1)<> ""
if cells(i,1) = sheets("Machines").cells(j,1) then
Worksheets("Registre").Select
Worksheets("Registre").Rows(i).Select
Worksheets("Registre").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("Registre").Select
end if
j=j+1
loop
End If
i = i + 1
Loop
'Trier les données par machine
Worksheets("Recap").Select
Range("A2:V1403").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Application.Cursor = xlDefault 'remet le curseur par défaut
End Sub
' préparation des machines
j=1
sheets("Machines").columns(1).clear
if checkbox1.value = true then
sheets("Machines").cells(j,1) = checkbox1.caption
j=j+1
end if
if checkbox2.value = true then
sheets("Machines").cells(j,1) = checkbox2.caption
j=j+1
end if
if checkbox3.value = true then
sheets("Machines").cells(j,1) = checkbox3.caption
j=j+1
end if
if checkbox4.value = true then
sheets("Machines").cells(j,1) = checkbox4.caption
j=j+1
end if
if checkbox5.value = true then
sheets("Machines").cells(j,1) = checkbox5.caption
j=j+1
end if
if checkbox6.value = true then
sheets("Machines").cells(j,1) = checkbox6.caption
j=j+1
end if
if checkbox7.value = true then
sheets("Machines").cells(j,1) = checkbox7.caption
j=j+1
end if
if checkbox8.value = true then
sheets("Machines").cells(j,1) = checkbox8.caption
j=j+1
end if
if checkbox9.value = true then
sheets("Machines").cells(j,1) = checkbox9.caption
j=j+1
end if
if checkbox10.value = true then
sheets("Machines").cells(j,1) = checkbox10.caption
j=j+1
end if
if checkbox11.value = true then
sheets("Machines").cells(j,1) = checkbox11.caption
j=j+1
end if
'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionner une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionner un défauts qualité dans la liste déroulante"
End If
Dim i As Integer
Dim n As Integer
n = 3
i = 2
MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait 'affiche le sablier
'Suppression des données du récap
Worksheets("Recap").Range("A3:V1402").ClearContents
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""
If Cells(i, 2) = défauts then
j=1
do while sheets("Machines").cells(j,1)<> ""
if cells(i,1) = sheets("Machines").cells(j,1) then
Worksheets("Registre").Select
Worksheets("Registre").Rows(i).Select
Worksheets("Registre").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("Registre").Select
end if
j=j+1
loop
End If
i = i + 1
Loop
'Trier les données par machine
Worksheets("Recap").Select
Range("A2:V1403").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Application.Cursor = xlDefault 'remet le curseur par défaut
End Sub