Boîte de dialogue avec cases à cocher

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

F

Fredrennes

Guest
Bonjour à tous,

Sur une feuille j'ai 2 colonnes.

La 1ère contient une dizaine de libellés.
La 2nde affiche en face de chaque libellé un "1" ou un "0".

Ce que je souhaiterais faire : je voudrais qu'à l'ouverture de mon fichier apparaisse une boîte de dialogue dans laquelle seront présents la totalité de mes libellés avec en face de chacun une case à cocher.

Si l'utilisateur coche la case, la valeur "1" s'affichera directement sur le feuille de calcul excel.

Pouvez-vous m'aider svp ?

Merci

Cdlt
Fred
 
Bonjour,

Lorsque tu fabriques ta boite de dialogue, tu as la possibilité d'avoir des actions sur évènement. En double cliquant dessus apparaît une feuille avec Checkbox1.click()
choisi checkbox1.change()
puis tu veux changer la valeur de la cellule

if range ("feuil1!$a$1") = "O" then range("feuil1!$a$1").value = "L"
else range("feuil1!$a$1").value = "O"
end if

ce qui fait que si la cellule A1 de la feuil1 et avec L, ça passera à O et inversement. Si elle est vide cela passera aussi à O.

Si tu click sur la boite de dialogue, tu as la possibilité avec Sub UserForm_Activate()

d'initialisé ta boite de la manière suivante

Sub UserForm_Activate()
if range("feuil1!$a$1").value = "L" then checkbox1.value = true
else checkbox1.value = false
end if
End Sub

Amicalement
 
Salut "Fredrennes","marc F"
Re le "FORUM"
une solution peut être
tu crées dans VBA (Alt+F11)
un Userform tu fais insertion Userform
tu inseres une listbox sur le userform via la boite à outils
ensuite tu clic sur le Userform et tu copies ce texte dans la page code du userform
je ne sais pas comment tu recopies dans la feuille j'ai donc mis le resultat dans la cellule C1
Private Sub ListBox1_Click()
Worksheets("Feuil1").Range("C1") = ListBox1.Value
End Sub

Private Sub UserForm_Initialize()
Dim L As Integer
Dim plage As String
L = Worksheets("Feuil1").Range("A65536").End(xlUp).Row
plage = Worksheets("Feuil1").Range("A1:B" & L).Address
With ListBox1
.ColumnCount = 2
.RowSource = plage
.BoundColumn = 0
End With

End Sub

A+++
Jean Marie
 
Salut "Fredrennes"
re re à tous OuPssss
j'ai trouvé ;o) Lol
tu remplaces
Private Sub ListBox1_Click()
Worksheets("Feuil1").Range("C1") = ListBox1.Value
End Sub
Par
Private Sub ListBox1_Click()
ListBox1.BoundColumn = 2
Worksheets("Feuil1").Range("C1") = ListBox1.Value
End Sub
et là tu as ton 1 ou ton 0 dans C1 OupSSSS

A++
Jean Marie
Ps il faut Persévérer toujours Persévérer
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
231
Réponses
10
Affichages
269
Réponses
18
Affichages
1 K
Réponses
4
Affichages
447
Retour