suppression ligne dans listview

Anonyme
2013-02-08T09:02:28+00:00

bonjour a vous tous

suite au post que danielco a tres bien animé de tout son énergie, mais dont je ne peux pas copier le lien désolé

je voudrais pouvoir supprimer une ligne dans la listview sans déranger le calcul quise créer lorsqu'il n'y a pas de suppression

engros les textbox HT,TVA,TTC ne se rectifie pas lors de la suppression

http://cjoint.com/?CBij05lzni3 

j'y ai rajouter cette ligne de code derière le bouton "supprimer ligne'

'Supprime la ligne active

ListView1.ListItems.Remove (ListView1.SelectedItem.Index)

cordialement

Pascal

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
Anonyme
2013-02-20T13:41:14+00:00

Toutes mes excuses. Après vérification, je t'ai envoyé le même fichier
que précédemment que j'avais conservé et non celui que j'ai modifié.

Voici cette fois le bon fichier : http://cjoint.com/?CBuoNKaJZo8  MichD

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

34 réponses supplémentaires

  1. Anonyme
    2013-02-16T16:09:02+00:00

    Comme ceci :
    (Pas pour cette procédure, mais as-tu vérifié
    que l'ajout d'un item prenait en considération
    la case "Remise" ?)

    '---------------------------------------------------
    Private Sub CommandButton7_Click()

    Dim A As Long
     Dim Nb As Integer
    With ListView1
      Nb = .ListItems.Count
      For A = Nb To 1 Step -1
          If .ListItems(A).Selected = True Then
              Me.TextBox10 = CDbl(Me.TextBox10) - CDbl(.ListItems(A).ListSubItems(9).Text)
              If .ListItems(A).ListSubItems(6).Text <> "" Then
                  Me.TOTTVA = CDbl(Me.TOTTVA - (CDbl(.ListItems(A).ListSubItems(6).Text)))
              ElseIf .ListItems(A).ListSubItems(7).Text <> "" Then
                  Me.TOTTVA = CDbl(Me.TOTTVA - (CDbl(.ListItems(A).ListSubItems(7).Text)))
              End If
              Me.TextBox12 = CDbl(Me.TextBox12) - CDbl(.ListItems(A).ListSubItems(10).Text)
               If .ListItems(A).ListSubItems(6).Text <> "" Then
                  Me.TextBox17 = CDbl(Me.TextBox17 - (CDbl(.ListItems(A).ListSubItems(6).Text)))
              End If
              If .ListItems(A).ListSubItems(7).Text <> "" Then
                  Me.TextBox18 = CDbl(Me.TextBox18 - (CDbl(.ListItems(A).ListSubItems(7).Text)))
              End If
              .ListItems.Remove .ListItems(A).Index
          End If
      Next
    End With
    End Sub
    '---------------------------------------------------

    MichD

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2013-02-16T15:20:53+00:00

    Bonjour,

    Une petite variante attachée au bouton "supprimer ligne"

    '--------------------------------

    Private Sub CommandButton7_Click()

    Dim Nb As Long, A As Long

    Dim Nb As Integer

    With ListView1

       Nb = .ListItems.Count

       For A = Nb To 1 Step -1

           If .ListItems(A).Selected = True Then

               Me.TextBox10 = CDbl(Me.TextBox10) - CDbl(.ListItems(A).ListSubItems(9).Text)

               If .ListItems(A).ListSubItems(6).Text <> "" Then

                   Me.TOTTVA = CDbl(Me.TOTTVA - (CDbl(.ListItems(A).ListSubItems(6).Text)))

               ElseIf .ListItems(A).ListSubItems(7).Text <> "" Then

                   Me.TOTTVA = CDbl(Me.TOTTVA - (CDbl(.ListItems(A).ListSubItems(7).Text)))

               End If

               Me.TextBox12 = CDbl(Me.TextBox12) - CDbl(.ListItems(A).ListSubItems(10).Text)

               .ListItems.Remove .ListItems(A).Index

           End If

       Next

    End With

    End Sub

    '--------------------------------

     MichD


    "PASCAL prigent" a écrit dans le message de groupe de discussion : *** Adresse électronique supprimée pour cause de confidentialité ***...

    bonjour a vous tous

    suite au post que danielco a tres bien animé de tout son énergie, mais dont je ne peux pas copier le lien désolé

    je voudrais pouvoir supprimer une ligne dans la listview sans déranger le calcul quise créer lorsqu'il n'y a pas de suppression

    engros les textbox HT,TVA,TTC ne se rectifie pas lors de la suppression

    http://cjoint.com/?CBij05lzni3

    j'y ai rajouter cette ligne de code derière le bouton "supprimer ligne'

    'Supprime la ligne active

    ListView1.ListItems.Remove (ListView1.SelectedItem.Index)

     cordialement

    Pascal


    http://answers.microsoft.com/message/f0ab1b4c-8326-445f-8e81-5d90039615d0

    Meta tags: office_2007; excel; 76e8586e-4096-4b6a-ab00-a22dcdbf4e53

    Fri, 8 Feb 2013 09:02:29  +0000: CreateMessage  PASCAL prigent

    bonjour a vous

    j'ai remarqué que la suppression d'une ligne dans la listview ne prends pas en compte les textbox17 et 18 de réception des tva ce qui fait que les calculs sont faux

    excusez moi si c'est si tard que je vous en fait la remarque

    bon week end

    Pascal

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2013-02-11T16:09:22+00:00

    Voici la procédure dont je parlais plutôt :

    Au lieu d'une variable booléenne, tu peux simplement
    modifier la propriété "Enabled" à False.

    Pourquoi tiens-tu à placer le bouton "Modifier" au-dessus
    du bouton "Ajouter" ? Lorsqu'un usager cliquera sur un
    item, la réponse sera à chaque fois pour "Modifier" et tu
    ne pourras jamais utiliser les boutons "Supprimer", "remonter"
    et "descendre".
    Ton bouton "Modifier" devrait demeurer visible et tu lui
    affectes la procédure suivante :

    Tu ajoutes un bouton "Mise à jour". Lorsque les modifications de
    l'usager sont terminées, Tu mets à jour, tous les items de
    l'enregistrement qui sont affectés de même que les différents
    Textbox des totaux et de taxes.

    Et pourquoi ne pas ajouter aussi un bouton "annuler" au cas où
    l'individu a décidé de ne pas appliquer les modifications?

    '-------------------------------------------------- Private Sub Modifier_Click() Dim X As ListItem, Nb As Integer, A As Integer    With ListView1        Set X = .SelectedItem        If Not X Is Nothing Then            Me.Ajout.Visible = False            Me.modif.Visible = True            With X                'Toute l'information est dans la variable tableau (t)                '------------------------------                Nb = .ListSubItems.Count + 2                ReDim T(1 To Nb)                For A = 1 To 10                    T(A) = .ListSubItems(A).Text                Next                'Et pour être complet, l'ajout du nom de l'item et son index                T(11) = .Text                T(12) = .Index                 '------------------------------                'Remplir les différents textbox                TextBox2.Value = .Text                TextBox4.Value = .ListSubItems(1).Text                txtArticle.Value = .ListSubItems(2).Text                Txtunite.Value = .ListSubItems(3).Text                txtPU.Value = .ListSubItems(5).Text                Txt_qté_vente = .ListSubItems(4).Text                'Desabled les 3 boutons : Remonter - descendre - supprimer                Me.CommandButton5.Enabled = False                Me.CommandButton6.Enabled = False                Me.CommandButton7.Enabled = False            End With        End If    End With End Sub '--------------------------------------------------   MichD

    "MichD [MVP]"  a écrit dans le message de groupe de discussion : ******@communitybridge2.codeplex.com.excel...
     Afin de pouvoir modifier la valeur des différents Textbox sur les taxes et totaux,
    dans la même procédure qui affiche le bouton modifier, tu peux faire comme ceci :

    A ) Tu mets dans une variable "Tableau - array" tout l'enregistrement des champs
       dudit item retenu. Cette variable Tableau, tu la déclares dans le haut du module
       du formulaire. Si tu veux, c'est la sauvegarde de ton enregistrement durant les
       modifications.

    B ) Pendant les modifications, tu dois empêcher que les usagers puissent utiliser
       les boutons "supprimer", "Remonter" et "Descendre". Pour ce faire, tu prends
       une variable de type booléenne déclarée en haut du module. Dans la même
       procédure que la précédente, tu affectes cette variable "Faux" et dans chacun
       des boutons tu testes Si MaVariable = Faux Then Exit sub

    C ) Lorsque la modification est terminée, tu compares les données de l'enregistrement
       présentes et celles strokées dans ta variable "Tableau", et tu affectes alors les
       textbox "taxes" et "totaux" de la différence.
       - Tu passes la variable booléenne à True et tu réinsères l'enregistrement dans
          dans la liste.

    Je ne vais pas écrire tout le code à ta place, cela prend du temps que je n'ai pas! MichD


    http://answers.microsoft.com/message/cc930332-f06f-4347-84ee-938fba7a9187?threadId=61347bca-e5ef-4514-b8ca-d512fdadffc0
    Meta tags: office_2007; excel; 76e8586e-4096-4b6a-ab00-a22dcdbf4e53

    Mon, 11 Feb 2013 15:02:44  +0000: CreateMessage  MichD

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2013-02-11T15:02:44+00:00

    Afin de pouvoir modifier la valeur des différents Textbox sur les taxes et totaux,
    dans la même procédure qui affiche le bouton modifier, tu peux faire comme ceci :

    A ) Tu mets dans une variable "Tableau - array" tout l'enregistrement des champs
        dudit item retenu. Cette variable Tableau, tu la déclares dans le haut du module
        du formulaire. Si tu veux, c'est la sauvegarde de ton enregistrement durant les
        modifications.

    B ) Pendant les modifications, tu dois empêcher que les usagers puissent utiliser
        les boutons "supprimer", "Remonter" et "Descendre". Pour ce faire, tu prends
        une variable de type booléenne déclarée en haut du module. Dans la même
        procédure que la précédente, tu affectes cette variable "Faux" et dans chacun
        des boutons tu testes Si MaVariable = Faux Then Exit sub

    C ) Lorsque la modification est terminée, tu compares les données de l'enregistrement
        présentes et celles strokées dans ta variable "Tableau", et tu affectes alors les
        textbox "taxes" et "totaux" de la différence.
        - Tu passes la variable booléenne à True et tu réinsères l'enregistrement dans
           dans la liste.

    Je ne vais pas écrire tout le code à ta place, cela prend du temps que je n'ai pas!  MichD

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire