Ben par exemple CA.Add Me.CkxToto, "Titre", "Oui!;Non.;?"
À tester, ça n'a encore jamais trouvé d'application.
Le "Titre" en guise de spécification de colonne n'est applicable que si un ListObject couvre la plage, c'est à dire si celle ci a fait l'objet
d'une mise sous forme de tableau.
Pour les Image on peut spécifier un dossier, et pour la plupart des autres contrôle un format d'affichage du texte. C'est pourquoi cet argument facultatif s'appelle Fmt.
Je nage….
je voudrais du coup faire plus simple avec ce que je possède déjà….sinon je ne vais pas y arriver….
j'ai pas mal avancé sur mon projet ce soir…. j'ai construit mon userform et la base associée….
il me reste plus qu'à bâtir la fonction filtre….
je possède déjà une fonction filtre sur une autre base qui fonctionne très bien… elle compare les données pour chaque ligne, colonne après colonne, à une plage de référence L1. Si les données contenues dans la base sont identiques à la plage de valeur de rérence, il affiche dans une fenêtre L2 les résultats, et surtout les copie dans une feuille distincte… Je voudrais reprendre ce schéma de fonctionnement.
Sauf qu'avec des checkbox (case à cocher) en Userform le résultat renvoyer n'est pas le même que celui des TXT, CBBox…
il me faut absolument pouvoir faire dire à mes ChKbox que si activées alors la valeur est ="GALA", par exemple. Comme ca il écrit gala dans la cellule concernée, je retrouve une valeur qui est connue de mon filtre et le tour est joué, je m'en sors…
EX si pour le nom 1 (ligne 1 en fait), Case a cocher Gala cochée, écrire dans la BDD concernée, colonne Gala "GALA" sinon rien.
peux tu m'aider a coder ca...
Si T5 Coché ecrire "GALA sinon rien.
SI T6 coché écrire Soirée dansante, sinon rien
Si T7 cochée écrire OLA chikita, sinon rien
Peux tu m'aider à coder ça STP
je te mets en copie le code qui doit faire fonctionner cela… de l'USERFOM vers la feuille "Manifestations"
[CODE\]
Option Explicit
Private Sub Bt1_Click()
Dim Lig&, i&
If T1 = "" Or T2 = "" Then MsgBox "Vous devez au minimum remplir le nom et le pr?nom pour pouvoir enregistrer un ?l?ve!!", vbCritical, "Manque de donn?e": Exit Sub
With Feuil6
If T1.ListIndex <> -1 Then
Lig = T1.ListIndex + 2
For i = 1 To 17
If i = 10 Or i = 11 Or i = 15 Or i = 18 Or i = 21 Then .Cells(Lig, i) = Controls("T" & i): GoTo 1
If IsNumeric(Controls("T" & i)) Then
.Cells(Lig, i) = CDbl(Controls("T" & i))
Else
.Cells(Lig, i) = Controls("T" & i)
End If
1 Next i
Else
Lig = .Range("A" & Rows.Count).End(3).Row + 1
For i = 1 To 17
If i = 10 Or i = 11 Or i = 15 Or i = 18 Or i = 21 Then .Cells(Lig, i) = Controls("T" & i): GoTo 2
If IsNumeric(Controls("T" & i)) Then
.Cells(Lig, i) = CDbl(Controls("T" & i))
Else
.Cells(Lig, i) = Controls("T" & i)
End If
2 Next i
End If
End With
End Sub
Private Sub Bt2_Click()
Unload Me
End Sub
Private Sub Bt3_Click()
Dim rep, rep1
If T1.ListIndex <> -1 Then
rep = MsgBox("Attention vous allez Supprimer l'?l?ve actuellement s?lectionn?, ?tes vous sur de vouloir Supprimer l'?l?ve??", vbCritical + vbYesNo, "Suppression d'un ?l?ve")
If rep = vbNo Then Exit Sub
rep1 = MsgBox("Attention vous allez Supprimer un ?l?ve??, confirmer vous la suppression, action irr?versible??", vbCritical + vbYesNo, "Confirmation de Suppression d'un ?l?ve")
If rep1 = vbNo Then Exit Sub
Feuil6.Rows(T1.ListIndex + 2).Delete Shift:=xlUp
Bt2_Click
End If
End Sub
Private Sub Bt4_Click()
Unload Me
End Sub
Private Sub Filtre_manif_Click()
Filtre_manifestations.Show 0
End Sub
Private Sub T1_Click()
Dim Lig&, i&
If T1.ListIndex <> -1 Then
Lig = T1.ListIndex + 2
For i = 1 To 17
Controls("T" & i) = Feuil6.Cells(Lig, i).Value
Next i
End If
End Sub
Private Sub T360_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal x As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
End Sub
Private Sub UserForm_Initialize()
Worksheets("manifestations").Range("A2:C600").Value = Worksheets("base_MALAFRETAZ").Range("A2:C600").Value
Worksheets("manifestations").Range("D2
600").Value = Worksheets("base_MALAFRETAZ").Range("P2
600").Value
Dim aa, fin&, i&
With Feuil6
fin = .Range("A" & Rows.Count).End(3).Row
If fin < 2 Then Exit Sub
aa = .Range("A2:AC" & fin)
End With
T1.ColumnCount = 2
T1.List = aa
End Sub
[/CODE]
Je veux que mes T qui sont des chekbox ne renvoie pas 0 ou -1, Vrai ou faux....
je veux qu'elle renvoie pour chaque T différend une valeur bien définie
T5 soirée dansante. sinon Vide
T6 gala, sinon vide
T7 Ola chikita, sinon vide
T8 base de loisir, sinon vide
ETc.….pour chaque TXt….
c'est ca que je cherche a faire….