Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Initialiser listbox automatiquement

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 !

Re : Initialiser listbox automatiquement

Oui c'est bien cela.
Mais je me suis rendu compte que dans mon fichier exemple tout était coché " Tous les mois". Si une opération n'est pas coché "Tous les mois" ne pas l'afficher en janvier 2010 par exemple
 
Re : Initialiser listbox automatiquement

Je ne suis pas très clair je le reconnais.

Je vais essayer de mieux m'exprimer :

En fait le mois et l'année du TextDate il faudrait les reporter sur les lignes de la listbox ,mais avec la date du jour valeure qui est dans la colonne P.

Tout ceci pour pouvoir reporter lors de la saisie ces lignes dans les comptes correspondants.
 
Re : Initialiser listbox automatiquement

Bonsoir

Ci joint le fichier avec une autre approche.
J'ai remplacé la listbox par une listview qui offre plus de possibilité qu'une listbox.
Il reste à compléter la procédure pour la sélection avec les "x".

PS Il faut ajouter les procédures manquantes
Code:
Private Sub CmdPlus_Click()
Txtdate = Format(DateAdd("m", 1, Txtdate.Value), " mmmm yyyy")
End Sub
Private Sub CmdMoins_Click()
Txtdate = Format(DateAdd("m", -1, Txtdate.Value), " mmmm yyyy")
End Sub

A tester

JP
 

Pièces jointes

Dernière édition:
Re : Initialiser listbox automatiquement

Bonjour et bonne année 2010 à tous....

Merci à JP14.

J'ai essayé en vain de trouver la solution pour la sélection avec les "x" en fonction du mois du TexDate donc je sollicite encore votre aide
 
Re : Initialiser listbox automatiquement

Bonjour


Pour t'aider il faudrait plus d'explication concernant l'utilisation des cellules ayant un x.
Pour expliquer le principe, le plus simple est de donner un exemple de sélection et un un exemple de non sélection.

JP
 
Re : Initialiser listbox automatiquement

Bonjour

Avant d'écrire la procédure, voici ce que j'ai compris.

Pour toutes les cellules des colonnes "Q" à "AC"
Si la cellule contient un x et si la colonne est la colonne Q alors on met les données de la ligne dans la listview
Si la cellule contient un x et si l'entête de la cellule correspond au mois spécifié dans Txtdate alors on copie les données dans la listview.

TxtDate contient comme valeur un mois et une année.


JP
 
Re : Initialiser listbox automatiquement

Oui c'est cela.

Si dans la colonne Q il y a un x afficher la ligne pour tous les mois .
Et pour les autres mois colonne R à AC afficher la ligne seulement si il y a un x

Dans la listeview pour les lignes affichées mettre la date du TextDate avec le jour de valeur de la colonne P
 
Re : Initialiser listbox automatiquement

Bonsoir,

As tu regardé la solution que je t'ai donnée hier 😕 : ICI

Si tu veux en plus le jour de la colonne P modifie la macro de JP14 remplirlistv comme ceci :

Au début :
Code:
'.../...
ReDim Colonne(0 To [B][SIZE=3]14[/SIZE][/B])
ReDim largeur(0 To [B][SIZE=3]14[/SIZE][/B])
ReDim position(0 To [B][SIZE=3]14[/SIZE][/B])
'.../..
A la fin :
Code:
'.../...
[B][SIZE=3]Colonne(i) = "p" '14
largeur(i) = 50
position(i) = 0
i = i + 1[/SIZE][/B]
Call Initlistview("Echéances", 2, 1, Colonne(), largeur(), position())
'.../...
A+
 
Re : Initialiser listbox automatiquement

Bonsoir

Ci dessous le code modifié qui devrait répondre au problème.

Code:
Private Sub Txtdate_Change()
Dim i As Long
Dim date1 As String
Dim date2 As String

'If flag = True Then Exit Sub
If Txtdate <> "" Then
With Me.Controls("ListView1")
    .CheckBoxes = False ' affichage des checkboxes
    .ListItems.Clear ' suppression des données
End With
mois = Month(Txtdate.Value)
With Sheets("Echéances")
For Each cell In .Range("q3:ac" & .Range("a65536").End(xlUp).Row)
    'date1 = Replace(CStr(Format(Sheets("Echéances").Range("c" & i), "mmmm/yyyy")), "/", "")
    
    If LCase(cell) = "x" Then
        If cell.Column = 17 Or cell.Column = (17 + mois) Then
        Call ajouteruneligne("Echéances", cell.Row, 1, Colonne())
        End If
    End If
Next cell
End With
End If
End Sub

Private Sub UserForm_Initialize()
Dim DerLigne As Integer
flag = True
remplirlistv
'Txtdate = Range("A1")
Txtdate = Format(Date, "mmmm/yyyy")

flag = False
End Sub
Private Sub remplirlistv()


ReDim Colonne(0 To 14)
ReDim largeur(0 To 14)
ReDim position(0 To 14)
Dim i As Long
i = 0
'**************zone à modiifer
' correspondance entre les Colonne(i)s de la base de données et la listview
Colonne(i) = "c" 'Colonne(i) de la listview : 0
largeur(i) = 50 ' largeur de la Colonne(i)
position(i) = 0 ' 0 gauche 1 droite 2 centré
i = i + 1
Colonne(i) = "p" '1
largeur(i) = 80
position(i) = 2
i = i + 1
Colonne(i) = "d" '1
largeur(i) = 80
position(i) = 0
i = i + 1
Colonne(i) = "e" '2
largeur(i) = 80 '
position(i) = 0 '
i = i + 1
Colonne(i) = "f" '3
largeur(i) = 80 '
position(i) = 0 '
i = i + 1
Colonne(i) = "g" '4
largeur(i) = 50
position(i) = 0
i = i + 1
Colonne(i) = "h" '5
largeur(i) = 50
position(i) = 0
i = i + 1
Colonne(i) = "i" '6
largeur(i) = 50
position(i) = 0
i = i + 1
Colonne(i) = "j" '7
largeur(i) = 50
position(i) = 0
i = i + 1
Colonne(i) = "k" '8
largeur(i) = 80
position(i) = 0
i = i + 1
Colonne(i) = "l" '9
largeur(i) = 80 '
position(i) = 0 '
i = i + 1
Colonne(i) = "m" '10
largeur(i) = 80 '
position(i) = 0 '
i = i + 1
Colonne(i) = "g" '11
largeur(i) = 50
position(i) = 0
i = i + 1
Colonne(i) = "n" '12
largeur(i) = 50
position(i) = 0
i = i + 1
Colonne(i) = "o" '13
largeur(i) = 50
position(i) = 0
i = i + 1
'********************* fin paramétrage
Call Initlistview("Echéances", 2, 1, Colonne(), largeur(), position())


End Sub

A tester
On ne doit pas avoir deux x dans la même ligne.

JP
 
Re : Initialiser listbox automatiquement

C'est bien cela pour la sélection.

Reste , dans la colonne "Jour" de la listview je voudrais afficher le mois et la date du TextDate avec le jour de la date valeur de la colonne P
 
- 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

Discussions similaires

Réponses
18
Affichages
543
Réponses
6
Affichages
333
Réponses
6
Affichages
320
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…