ListView pas évidente à faire (pour moi!)

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

B

Blueangel

Guest
Bonsoir,

Dans le programme joint : Cijoint.fr - Service gratuit de dépôt de fichiers
Je souhaiterai afficher dans le listView2 de mon USF "G_Clients" les commandes (N° et désignation uniquement) correspondantes au client sélectionné dans le ListView1.
J'ai fait une tentative par une recherche 1 critère dans la table Commandes (en m'inspirant de l'aide de PMO2 pour m'a recherche multicritères). Mais je vois que je ne maîtrise pas encore toute cette jonglerie de tableaux.

Est-ce que quelqu'un aurait une solution à m'apporter ?

D'avance merci
Blueangel
 
Re : ListView pas évidente à faire (pour moi!)

J'ai oublié un renseignement essentiel !!
Pour accéder à vba, il faut ouvrir le USF Gestion Clients, puis le fermer avec la croix en haut à droite.

Si la méthode que j'ai commencé à utiliser n'est pas du tout appropriée (ou trop complexe), pouvez-vous m'en indiquer une autre + adaptée et abordable.

Cordialement,
Blueangel
 
Re : ListView pas évidente à faire (pour moi!)

Re,

J'ai tenté autre chose, mais j'ai un bug lors du remplissage de mon ListView2.
Fichier :
Cijoint.fr - Service gratuit de dépôt de fichiers

Quel est le problème?

Merci
 
Re : ListView pas évidente à faire (pour moi!)

Bonjour BlueAngel,

à tester (et pour rompre ta solitude 😉)

Code:
Private Sub ListView1_Click()

Dim T()
Dim i As Integer
Dim iR&
Dim j As Integer
Dim WsCo As Worksheet

'Affiche la sélection dans les textBox du formulaire
With Me.ListView1
    l = .SelectedItem.Index
    TextBox1 = .ListItems(l).Text
    For c = 1 To 10
        Me("TextBox" & c + 1) = .ListItems(l).ListSubItems(c).Text
    Next c
    j = 1
    ReDim T(1 To 2, 1 To 1)
    Set WsCo = Worksheets("Cdes")
    With WsCo
        i = 2
        iR = .Range("A65536").End(xlUp).Row + 1
        For i = 2 To iR
            If .Cells(i, 2) = TextBox1 Then
                T(1, j) = WsCo.Cells(i, 1)
                T(2, j) = WsCo.Cells(i, 3)
                j = j + 1
                ReDim Preserve T(1 To 2, 1 To j)
            End If
        Next
        If UBound(T, 2) > 1 Then ReDim Preserve T(1 To 2, 1 To j - 1)
    End With

IniListview2 (T)

End With

End Sub
Code:
Private Sub IniListview2(T As Variant) 'contenu de la listView2

With ListView2
    .ListItems.Clear
    If T(1, 1) = "" Then Exit Sub
    For l = 1 To UBound(T, 2)
        .ListItems.Add , , T(1, l)
        .ListItems(.ListItems.Count).ListSubItems.Add , , T(2, l)
    Next
End With

End Sub

Edit : Si tu as des questions, n'hésite pas
 
Re : ListView pas évidente à faire (pour moi!)

Merci beaucoup tototiti ! ça fonctionne nickel !
C'est bizarre ! pour les cellules on a cells(ligne, colonne) et pour les tableaux on a T(colonne, ligne) !

plus qu'1 petite fonction et j'en aurai fini avec mes 2 formulaires (clients, commandes).
Place à l'import/export et aux listing.

Encore merci.
Sûrement à bientôt.
@+
Blueangel
 
Re : ListView pas évidente à faire (pour moi!)

Bonjour Blueangel, tototiti 🙂, et à ceux qui passeront par ici,

Regarde le Fichier joint... Peut-être pourras-tu en tirer quelque chose.
Cijoint.fr - Service gratuit de dépôt de fichiers

Il y a plein de trucs dont tu n'as certainement pas besoin,
mais n'ayant pas encore regardé ton projet, ne n'ai pas fait le nettoyage.

Si l'idée te tente, on peut en reparler.

Amicalement.

Yann
 
Re : ListView pas évidente à faire (pour moi!)

Bonjour Yann 😉
Re,

C'est bizarre ! pour les cellules on a cells(ligne, colonne) et pour les tableaux on a T(colonne, ligne) !

Comme on ne sait pas combien de lignes de commandes on va récupérer, il faut utiliser un tableau dynamique
Ceux-ci se redimensionnent avec "ReDim Preserve" (pour conserver les données déjà collectées) mais ReDim ne peut que redimensionner la dernière dimension, ce que tu appelles les lignes. Il faut donc mettre les "lignes" en dernier
 
Re : ListView pas évidente à faire (pour moi!)

Re,

J'ai une nouvelle question : qui n'a rien à voir avec mon ListView.
--> Dans ma TextBox "Montant" (USF G_Com), je chercher désespérément à la formater au format monétaire avec 2 chiffres après la virgule + le "€".

Le code que j'ai mis pour l'instant met permet uniquement de mettre un montant entre 0 et 9 !

As-tu une solution ?
Merci
 
Re : ListView pas évidente à faire (pour moi!)

Re,

Sur le principe, Textbox_change s'exécute à chaque saisie de caractères
Toi tu souhaiterais appliquer ton format quand tu as fini de taper ton montant, et quand tu as fini, tu sors de la Textbox
Il faut donc mettre ton code avec Format non pas dans Textbox_change mais dans Textbox_exit
 
Re : ListView pas évidente à faire (pour moi!)

ça ne fonctionne pas en mettant "exit" !

Voici mon code :

Private Sub TextBox4_exit()

G_Com.TextBox4 = Format(G_Com.TextBox4, "0.00" & " " & "€")

End Sub

Engendre une erreur de compilation.
 
Re : ListView pas évidente à faire (pour moi!)

Re,

Quand tu crées un nouvel évènement, ne tapes pas directementTextbox4_Change toi même, fait un double-clic sur ta Textbox pour aller dans le code évènementiel, puis déroule la liste déroulante en haut à droite pour choisir l'évènement approprié
Exit a un paramètre :

Code:
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
G_Com.TextBox4 = Format(G_Com.TextBox4, "# ##0.00") & " €"
End Sub
 
Re : ListView pas évidente à faire (pour moi!)

Bonsoir Blueangel,

Quand une proposition ne satisfait pas, il faut savoir aussi le dire!

Ne serait-ce que pour la gouverne de l'auteur, afin qu'il se taise à l'avenir sur ce type de sujet.

Bonne route dans ton projet.

Quant à moi, j'en ai tiré conclusion...

Yann
 
Re : ListView pas évidente à faire (pour moi!)

Bonjour Yann,

Ne te fâche pas ! J'ai pris le temps de bien lire le code de ton fichier et de le comparer au mien.
Et bien au contraire !! Ton fichier m'a permis de comprendre une chose ESSENTIELLE dans l'élaboration de mon projet : le rappel de fonctions rangées dans des modules.
C'est une chose que je n'arrivais pas à faire. Je n'avais pas saisi qu'il fallait mettre le nom du module devant celui de la fonction.

Du coup, j'ai tenté de reclasser mes différentes fonctions, mais c'est la m... maintenant que j'ai bien avancé !

De ce fait, j'ai maintenant quelques questions sur ce nouveau sujet.
Fais moi signe si tu reviens faire un tour par là !

Encore merci pour ton fichier
Blueangel
 
- 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

B
Réponses
4
Affichages
19 K
Blueangel
B
B
Réponses
10
Affichages
7 K
Blueangel
B
B
Réponses
6
Affichages
2 K
Blueangel
B
D
Réponses
2
Affichages
2 K
deeppurple
D
Retour