1 pièce(s) jointe(s)
Appliquer une formule NBsi en vba dans un textbox pour une valeur contenue dans un autre textbox
Bonsoir le forum
Novice en programmation si quelqu'un peut m'aider je le remercie.
j'ai créé un userform avec plusieurs controls ( textbox, listbox, et combo) qui sont alimentés par une fonction recherche depuis plusieurs bases de données.
Ces controls vont incrémentés une feuille excel.
Ci-joint une partie du code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Dim i As Byte
Dim Cel As Range[/SIZE][/COLOR][SIZE=1][COLOR=#0000ff]For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then MsgBox ListBox2.List(i)
Range("a65536").End(xlUp).Offset(1, 0).Value = DateSaisie
Range("b65536").End(xlUp).Offset(1, 0).Value = TextBox1
Range("c65536").End(xlUp).Offset(1, 0).Value = TextBox1
'Range("a65536").End(xlUp).Offset(1, 0).Value = DateSaisie
Range("e65536").End(xlUp).Offset(1, 0).Value = ListBox2.List(i)
Range("f65536").End(xlUp).Offset(1, 0).Value = Module
Range("g65536").End(xlUp).Offset(1, 0).Value = Thème
Range("h65536").End(xlUp).Offset(1, 0).Value = Thémes_Manuvres
Range("i65536").End(xlUp).Offset(1, 0).Value = Temps_prat.Value
Next i
For Each Cel In Range("b1:b" & Cells(Rows.Count, "b").End(xlUp).Row)
If IsDate(Cel) Then Cel = Format(Cel, "mmmm")
Next Cel
For Each Cel In Range("c1:c" & Cells(Rows.Count, "c").End(xlUp).Row)
If IsDate(Cel) Then Cel = Format(Cel, "yyyy")
Next Cel |
'ai 2 questions:
Q1: lorsque je valide les données de la listbox1 vers la listbox2 les lignes de la listbox1 restent sélectionnées?
Pièce jointe 233940
Code:
1 2 3 4 5 6 7
|
Private Sub CommandButton5_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then ListBox2.AddItem ListBox1.List(i)
If ListBox1.Selected(i) = True Then MsgBox ListBox1.List(i)
Next i
End Sub |
je voudrais une fois le transfert fait que la listbox1 redevienne normale ( sans noms sélectionnés).
Q2: J'ai une textbox nommée Module qui reçoit des données de types "inc" ou "sap" ou "opd" etc et je voudrais appliquer dans ma textbox nommées actions de formation la formule =NB.SI(F3;"Sap")+NB.SI(F3;"Opd")+NB.SI(F3;"Inc")+NB.SI(F3;"Sr")+NB.SI(F3;"Fdf")+NB.SI(F3;"Cad") mais en VBA de sorte que la valeur de ma textbox qui sera transférée dans la feuille soit du 1 ou du 0.
L'objectif étant:
Code:
Range("h65536").End(xlUp).Offset(1, 0).Value = action_formation.Value
la valeur étant du 1 ou du 0 .
Sinon je suis obligé de copier la formule dans la feuille sur 20000 lignes.
J'ai réussi à convertir mes dates en mois et en année, la méthode n'est pas très orthodoxe mais ça fonctionne (40000 formules de moins dans la feuilles) oufffff.....
Par contre là, je sèche vraiment et une aide serait la bienvenue :ptdr:
Merci d'avance