Userform et tableau

bonjour dan,

tbl4.DataBodyRange(.ListRows.Count, .ListColumns.Count) = 0

Call calcul_montant_net,

tout marche parfaitement, j'ai juste fait une petite modif parce que j'avais une petite erreur compilation

tbl4.DataBodyRange(tbl4.ListRows.Count, tbl4.ListColumns.Count).Value = 0

Bonjour,

tout marche parfaitement, j'ai juste fait une petite modif parce que j'avais une petite erreur compilation

Oui exact j'avais modifié après avoir posté. Désolé
Pour vous éviter de répéter tbl4, vous pouvez aussi mettre comme ceci

With tbl4
    .DataBodyRange(.ListRows.Count, .ListColumns.Count).Value = 0
End with

Crdlt

bonjour Dan,

je vais mettre votre code, je pense que plus ils sont court mieux c'est !

je cherche à mettre dans la listeview plusieurs case à cocher, j'ai lu que ce n’étais pas possible et que la solution était "MSFlexGrid1" mais je n'arrive pas à la faire fonctionner, je n'arrive pas à l'activer dans les modules complémentaires.

Private Sub UserForm_Initialize()

On Error Resume Next
With Feuil3
    With .ListObjects("Tableau6")
        If .ListRows.Count > 1 Then
            ComboBox1.List = .DataBodyRange.Value
        Else: ComboBox1.AddItem .DataBodyRange(1, 1).Value
        End If
    End With
End With
On Error GoTo 0
TextBox1.Text = Format("JJ/MM/AA")

'chargement listview
With ListView1
    .Gridlines = True 'Affiche les lignes
    .View = lvwReport 'Style d'affichage
    .FullRowSelect = True 'Selectionner une ligne possible avec colorisation
    .LabelEdit = 1
    .CheckBoxes = True 'cases à cocher
    'Création d'entête personnalisée
    .ColumnHeaders.Add Text:="Nom", Width:=150
    .ColumnHeaders.Add Text:="TH", Width:=40
End With

' Initialisation de MSFlexGrid
With MSFlexGrid1
    .Rows = 10
    .Cols = 7
    .FixedRows = 1
    .FixedCols = 1
End With

' Définir les en-têtes de colonne
MSFlexGrid1.TextMatrix(0, 0) = "Nom"
MSFlexGrid1.TextMatrix(0, 1) = "Case à cocher 1"
MSFlexGrid1.TextMatrix(0, 2) = ""
MSFlexGrid1.TextMatrix(0, 3) = "Case à cocher 2"
MSFlexGrid1.TextMatrix(0, 4) = ""
MSFlexGrid1.TextMatrix(0, 5) = "Case à cocher 3"
MSFlexGrid1.TextMatrix(0, 6) = ""

' Remplir la grille avec des données
Dim i As Integer
For i = 1 To 9
    MSFlexGrid1.TextMatrix(i, 0) = "Nom " & i
    MSFlexGrid1.TextMatrix(i, 1) = "Faux"
    MSFlexGrid1.TextMatrix(i, 2) = "Faux"
    MSFlexGrid1.TextMatrix(i, 3) = "Faux"
    MSFlexGrid1.TextMatrix(i, 4) = "Faux"
    MSFlexGrid1.TextMatrix(i, 5) = "Faux"
    MSFlexGrid1.TextMatrix(i, 6) = "Faux"
Next i

Call alimenter_listview 'completer liste
Call alimenter_combobox2 'completer combobox2

End Sub
image

Pourquoi vous me postez tout ce code ?
A part la modif de la sub initialize, j'ai tout le reste dans le fichier V14-4 non ?
Pouvez-vous supprimer ce qui ne sert pas

je cherche à mettre dans la listeview plusieurs case à cocher,

dites moi quel est le but. ce sera plus facile de voir si on peut adapter

Edit : peut être ceci que vous voulez ? --> https://forum.excel-pratique.com/s/goto/1191214

Le but c'est sur une journée de grève d'avoir le choix par agent de le mettre en grève 1h, 8h ou non participatif à la cagnotte.

Actuellement il est gréviste ou non gréviste (participant à la cagnotte ).

A part la modif de la sub initialize, j'ai tout le reste dans le fichier V14-4 non ?

Vous ne répondez pas à ma question....
Pouvez-vous éditer votre post précédent et ne laisser que ce qui est différent ?

Le but c'est sur une journée de grève d'avoir le choix par agent de le mettre en grève 1h, 8h ou non participatif à la cagnotte.

1. Et vous allez la mettre où cette info ?
2. Pourquoi pas 2, 3h ?
3. Ce n'est pas combobox1 (Quart) qui renseigne cela ?

En principe, hormis la colonne 1, la listview n'est modifiable que par code. Il be faut pas considérer la listview comme une feuille.
Cela veut dire que dans votre projet, il aurait plutôt fallu avoir une combo pour le choix des agents et une combo pour les heures et ajouter à chaque fois l'info dans la listview
ou par exemple, une fois la liste affichée vous faites le choix de l'agent pour compléter les données que vous mentionnez sur la même USF mais via le choix dans une combobox séparée.
Ensuite confirmer par bouton pour réactualiser la listview. A analyser...

bonjour Dan,

' Initialisation de MSFlexGrid
With MSFlexGrid1
    .Rows = 10
    .Cols = 7
    .FixedRows = 1
    .FixedCols = 1
End With

' Définir les en-têtes de colonne
MSFlexGrid1.TextMatrix(0, 0) = "Nom"
MSFlexGrid1.TextMatrix(0, 1) = "Case à cocher 1"
MSFlexGrid1.TextMatrix(0, 2) = ""
MSFlexGrid1.TextMatrix(0, 3) = "Case à cocher 2"
MSFlexGrid1.TextMatrix(0, 4) = ""
MSFlexGrid1.TextMatrix(0, 5) = "Case à cocher 3"
MSFlexGrid1.TextMatrix(0, 6) = ""

' Remplir la grille avec des données
Dim i As Integer
For i = 1 To 9
    MSFlexGrid1.TextMatrix(i, 0) = "Nom " & i
    MSFlexGrid1.TextMatrix(i, 1) = "Faux"
    MSFlexGrid1.TextMatrix(i, 2) = "Faux"
    MSFlexGrid1.TextMatrix(i, 3) = "Faux"
    MSFlexGrid1.TextMatrix(i, 4) = "Faux"
    MSFlexGrid1.TextMatrix(i, 5) = "Faux"
    MSFlexGrid1.TextMatrix(i, 6) = "Faux"
Next i

voici ce que j'ai modifié, mais je viens de me rendre compte que j'avais sauvegardé par dessus ma dernière version, j'ai n'ai plus le code complet de mon userform2...

1. Et vous allez la mettre où cette info ?

2. Pourquoi pas 2, 3h ?

3. Ce n'est pas combobox1 (Quart) qui renseigne cela ?

alors les explications sont un peu compliqués, je me lance :

je vous envoie ça en message privé

Bonjour

voici ce que j'ai modifié, mais je viens de me rendre compte que j'avais sauvegardé par dessus ma dernière version, j'ai n'ai plus le code complet de mon userform2...

Ci-joint le code de votre USF2 trouvé dans la version V14 (sans votre modification)

17usf2.txt (5.17 Ko)

Crdlt

Merci

Rechercher des sujets similaires à "userform tableau"