Duplicata

Résolu
okeyl Messages postés 7 Date d'inscription lundi 26 décembre 2022 Statut Membre Dernière intervention 19 février 2023 - Modifié le 27 déc. 2022 à 12:41
okeyl Messages postés 7 Date d'inscription lundi 26 décembre 2022 Statut Membre Dernière intervention 19 février 2023 - 4 janv. 2023 à 14:41

Bonjour, Je souhaite ajouté des lignes dans listview sans pour autant ajouté les anciennes lignes au BDD
 

With UserForm2.ListView1
       Set Item = ListView1.ListItems.add(Text:=TextBox1.Value)            'date
           Item.SubItems(1) = TextBox2.Value                                           'ligne
           Item.SubItems(2) = TextBox3.Value                                           'format
           Item.SubItems(3) = ComboBox3.Value                                      'minute d'arrêt
           Item.SubItems(4) = TextBox4.Value                                           'cause d'arrêt
               'Transfert au base de données Arrêt
       For i = 1 To ListView1.ListItems.Count
           Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(1, 0) = ListView1.ListItems(i).Text                 'date
           Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 1) = ListView1.ListItems(i).SubItems(1)    'ligne
           Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 2) = ListView1.ListItems(i).SubItems(2)    'format
           Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 3) = ListView1.ListItems(i).SubItems(4)    'minute d'arrêt
           Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 4) = ListView1.ListItems(i).SubItems(3)    'cause d'arrêt
      Next i
End With

8 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 27 déc. 2022 à 19:23

Bonjour

si je comprends bien tu veux rajouter un item dans la listview et dans ton fichier Excel ( au passage Excel n'est pas une BDD mais un tableur)

A partir de la ligne 8 de ton code tu rajoutes dans ton fichier Excel tous les items de la listview .

Pourquoi ne rajoutes tu pas uniquement l'item défini à la ligne 2


0
okeyl Messages postés 7 Date d'inscription lundi 26 décembre 2022 Statut Membre Dernière intervention 19 février 2023
27 déc. 2022 à 23:31

Bonjour

j'ai mis un code pour que la listview affiche tout les arrêts selon ( journée/ligne/ et format), pour que je puisse supprimer ou ajouter des arrêts.

le problème qui se pose c'est que dès que j'ajoute un arrêt j'aurais un duplicata des anciens.

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
28 déc. 2022 à 07:51

Bonjour

Ca j'ai bien compris .

Supposes que tu as 10 arrêts dans ta listview et dans ton fichier Excel . Tu rajoutes un onzième arrêt dans le Listview . Dans ton fichier Excel il faut rajouter uniquement que ce onzième arrêt .


0
okeyl Messages postés 7 Date d'inscription lundi 26 décembre 2022 Statut Membre Dernière intervention 19 février 2023
28 déc. 2022 à 15:12

Oui, c'est exactement ce que je veux  

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
28 déc. 2022 à 15:57

Dans ton code de la ligne 8 à la ligne 14 tu transfères toutes les lignes de ta listview dans le fichier Excel .

Tu dois uniquement transférer dans le fichier Excel le dernier item ajouté à la listview . 


0
okeyl Messages postés 7 Date d'inscription lundi 26 décembre 2022 Statut Membre Dernière intervention 19 février 2023
2 janv. 2023 à 12:37

Oui, mais je ne vois pas comment faire

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
2 janv. 2023 à 13:42
Set Item = ListView1.ListItems.add(Text:=TextBox1.Value) ' date
With Item
    .SubItems(1) = TextBox2.Value ' ligne
    .SubItems(2) = TextBox3.Value ' format
    .SubItems(3) = ComboBox3.Value ' minute d'arrêt
    .SubItems(4) = TextBox4.Value ' cause d'arrêt
    ' Transfert de l'item dans la base de données Arrêt
    Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(1, 0) = .Text ' date
    Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 1) = .SubItems(1)' ligne
    Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 2) = .SubItems(2) ' format
    Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 3) = .SubItems(4) ' minute d'arrêt
    Feuil6.Range("a" & Rows.Count).End(xlUp).Offset(0, 4) = .SubItems(3) ' cause d'arrêt
End With

Bonjour

Essaie avec ce bout de code


0
okeyl Messages postés 7 Date d'inscription lundi 26 décembre 2022 Statut Membre Dernière intervention 19 février 2023
4 janv. 2023 à 14:41

Merci beaucoup vb95 pour ton aide et pour le temps que tu m'accordes

Avant j'avais mis le code de transfert dans la base de donnée dans une commandboutun et le code qui fait le transfère dans la listview dans une autre, et quand je voulais les mettre dans une seul commande il m'a pas venu à l’esprit d'enlever la boucle for

Merci encore une fois

0
Rejoignez-nous