LISTVIEW Ajouter Modifier Supprimer

terpick

XLDnaute Occasionnel
Bonjour le Forum!

J'ai de nouveau besoin de votre aide.

J'essaie de créer un logiciel pour gérer les données dans un tableau avec les options de base: Ajouter Modifier Supprimer

En bidoullant sur le forum j'ai appris que cela est possible à faire avec ListView. J'ai pris un exemplaire pour la base ( https://www.excel-downloads.com/threads/modifier-ligne-listview-via-textbox.168595/ ) et après qques modifications j'ai réussi d'avoir qqchose presque potable... mais rien ne marche...
Mais "connaissances" ne me permettent pas aller plus loin.

Peut-être qqun peut éclairer la situation?

Merci
 

Pièces jointes

  • Classeur1.xls
    85 KB · Affichages: 235
  • Classeur1.xls
    85 KB · Affichages: 217
  • Classeur1.xls
    85 KB · Affichages: 247
Dernière édition:

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Salut Chalet53, Bébère, Yann-56, le Forum.

Merci pour votre intérêt et les solutions proposées. Ce soir, je vais assembler les deux versions (celles de Chalet et Bébère). Le résultat et les précisions je mettrais après avoir fini.

Yann, j'ai bien peur que je n'ai pratiquement rien saisi de votre message, faute de mes connaissances limitées du VBA. Bien évidement, je suis preneur de toutes les idées pour ma base (et, si possible, avec les courtes explications, pour progresser, vu que j'aime ça, mais je suis à 100% autodidacte).

Merci encore et à bientôt.
 
Dernière édition:

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Bon, mes bidouillages n'ont pas donné grand chose. J'avais une intention de fusionner deux solutions proposées, mais rien ne marche. ou presque. Vu, qu'on est allé si loin, je vais donc donner plus de détails (ou mes souhaits) lesquelles je n'est pas demandé, pour ne pas faire de trop.

les combobox dans l'entête je voudrais avoir 2 + 1 textbox.

Combobox 1 doit afficher les noms (vers 1000) avec un tri alphabétique. (Je l'ai affecté pour la colonne A, mais après avoir fait le choix la Listview n'affiche rien)
Combobox 2 doit afficher le type (ancien Raison Sociale). Il y aura 3 ou 4 types pas plus, donc je n'ai pas trop besoin de les trier par l'ordre alphab.
Dans Textbox 18 (cela est strictement facultatif, parce que je pense que ça sera bien compliqué) on peut saisir le numéro de pépart en 2 chiffres et le tri s'effectuera pour les diff départs.

J'ai rajouté aussi Combobox 4 avec une liste déroulante, mais comment affecter ses données dans la colonne M?

Et la dernière question : est il possible de ne pas autoriser remplir les textbox en clockan sur la listview si option Ajouter est en marche?

Bon, je m'arrête, je vous remercie par avance

A+
 

Pièces jointes

  • chaletberber1.xls
    108.5 KB · Affichages: 206
  • chaletberber1.xls
    108.5 KB · Affichages: 186
  • chaletberber1.xls
    108.5 KB · Affichages: 190

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Salut tout le monde!

Ouph, avec la tête fraîche j'ai réussi de régler ma dernière question
Et la dernière question : est-il possible de ne pas autoriser de remplir les textbox en clickant sur la listview si option Ajouter est en marche?
La réponse est dans le fichier de Bébère, mais hier je n'ai pas pu la faire tourner.

A+ et bon dimanche à tous
 

Pièces jointes

  • chaletberber1.xls
    89.5 KB · Affichages: 189
  • chaletberber1.xls
    89.5 KB · Affichages: 171
  • chaletberber1.xls
    89.5 KB · Affichages: 202
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : LISTVIEW Ajouter Modifier Supprimer

Bonjour

Peux-tu préciser :

Dans ton fichier colonne raison sociale, il n'y a rien et c'est cette colonne qui alimente ta combobox1
tu as transféré les infos que j'avais en colonne raison sociale en colonne type : ta combobox2 porte les infos Type et ta combobox1 porte la raison sociale
question : on met quoi dan quoi ?

et si tu sélectionnes à partir d'une combobox (1 par exemple) que doit faire une sélection sur l'autre combobox (2 en l'occurence) : sans doute réduire les éléments sélectionnés pour faciliter la lecture

Merci
 

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Bonjour Chalet,

Je viens de résoudre ça:
Combobox 1 doit afficher les noms (vers 1000) avec un tri alphabétique. (Je l'ai affecté pour la colonne A, mais après avoir fait le choix la Listview n'affiche rien)

Comment je vois le processus :

Colonne Rais Soc ne joue aucun rôle sur le tri, c'était juste pour le brouillon.

Il y a 3 colonnes concernées: B - Nom (combobox1), A - Type (région géo - 3-4 régions, pas plus (combobox2)) et F - CP (textbox18).

Tout d’abord, l'utilisateur devra pouvoir visualiser les lignes par Type (combobox2), ensuite, dans combobox1 il pourra afficher les noms dans l'ordre alphabétique. (Rien n'empêche de visualiser tous les noms de colonne A sans le tri par Type (combobox2=TOUS). Et, en fin, il pourra réduire l'affichage par département en saisissant deux chiffres du département dans la textbox18.

Si c'est toujours flux, je vais essayer d'expliquer encore, pas de problème.

Je joins la dernière version.

Merci beaucoup.
 

Pièces jointes

  • chaletberber1.xls
    92 KB · Affichages: 216
  • chaletberber1.xls
    92 KB · Affichages: 177
  • chaletberber1.xls
    92 KB · Affichages: 289

Bebere

XLDnaute Barbatruc
Re : LISTVIEW Ajouter Modifier Supprimer

bonjour Terpick,Chalet,Yann
ce que te proposait Yann tu as la propriété Key de listview qui le fait
c'est dans le code
dans l'userform les possibilités de tris sont
par type,par ville,par type et nom, par ville et noms(optiobutton)
pour moi taper quelque chose qui n'existe peut être pas n'a aucun intéret
et apprend à régler tes problèmes un par un
un problème réglé,passe au suivant,etc
tu as la touche F8(pas à pas) pour exécuter le code et la fenêtre variables locales
pour visualiser leurs valeurs,la touche F1(aide),etc
les employer est d'une grande aide pour apprendre et corriger
qu'on se le dise
à bientôt
 

Pièces jointes

  • TarpeckV2.zip
    44.4 KB · Affichages: 94

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Bonsoir tout le monde,

Bébère, j’adore cette solution. Je vais la mettre au propre et bien tester.

Au premier rapport avec la sélection "Par type" ou "Par ville" en clickant sur une des ligne ça bugge à cette endroit :

With ListView1
.ListItems.Clear
For L = 3 To Cells(65535, Col).End(xlUp).Row
If Cells(L, Col) = Quoi And Cells(L, ColNom) = Nom Then
.ListItems.Add , LettreCol & L, Cells(L, 1)
Compteur = .ListItems.Count
For C = 2 To 18
Cle = Chr(64 + C)
.ListItems(Compteur).ListSubItems.Add , Cle & L, Cells(L, C).Text
Next
End If

Et la question primordiale, qui revient toujours: est-il possible d'afficher les nom et les villes dans l'ordre alphabétique? Il y en aura vraiment beaucoup même si or réduit le nombre de noms par les "Nom et Type" et "Nom et ville". La méthode de Chalet de tri des noms dans la combobox je n'ai pas réussi à adapter dans cette solution du fichier.
PS et je n'arrive pas non plus de faire la mise en forme de la ligne ajoutée.

Merci beaucoup pour votre aide et temps consacré , A+
 
Dernière édition:

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Salut tout le monde,

Bébère, cette dernière version répond à tous mes souhaits, merci encore.

Un petit défaut: dans les combobox, si on tape une lettre et dans la liste déroulante il n y a pas de mots qui commencent par cette même lettre, le logiciel bugge dans la Macro

HTML:
Sub Remplir_Liste(Quoi As String, Optional Nom As String)

la ligne

HTML:
 .ListItems(1).Selected = False
.

Et comment affecter une combobox dans la frame1, notamment pour la colonne M, comme j'ai fais dans le fichier ci-dessus?

Merci, bon lundi et à +
 
Dernière édition:

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

Bonjour,

Cela fait la deuxième journée que j'essaie de faire le ménage dans votre fichier. Mais j'ai pas réussi grand chose.

Par exemple, si on affiche Combobox "Choix par type", dans Listview la première colonne affiche "type" mais pas les noms. Même problème quand on séléctionne combobox "choix par ville", dans Listview la première colonne affiche "ville" mais pas les noms. En sélectionnant "Ville et nom", "Type et nom" la même chose: dans Listview la première colonne affiche "ville" mais pas les noms. De plus, dans ces deux dernières combobox je n'ais pas "TOUS".
Et toujours ce défaut lors de la saisie dans les combobox les lettres pour afficher les enrégistrement, il suffit que la lettre n'existe pas, tout bugge.

C'est dommage, parce que le fichier est très bien...

A l'aide svp

A+
 

terpick

XLDnaute Occasionnel
Re : LISTVIEW Ajouter Modifier Supprimer

RE:

Merci Bébère, je me plonge pour comprendre.

A+

P.S C'est bien la partie
HTML:
Set MonDico = CreateObject("Scripting.Dictionary")
    For Each Cel In Range(Cells(3, 13), Cells(Cells(65535, 13).End(xlUp).Row, 13))
        If Not MonDico.Exists(Cel.Value) Then MonDico.Add Cel.Value, Cel.Value
    Next Cel
qui est responsable pour le transfère des données de la ComboBox4 dans la colonne M?
 
Dernière édition: