IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Supprimer une ligne excel et listbox à l'aide d'une listbox multicolonne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut Supprimer une ligne excel et listbox à l'aide d'une listbox multicolonne
    bonjour,

    je crée actuellement une bibliothèque imformatique permettant de référencer les instruments de métrologie de mon entreprise et de pouvoir les emprunter et les rendres.

    Lors de la reservation toute mes données selectionnées s'enregistrent dans un tableau excel.

    Lors du rendu de l'outil, j'arrive à trier mes données de ce tableau en fonction du numéro de l'utilisateur.
    j'aimerai que lorsque l'utilisateur selectionne un outil à rendre(ligne entière de ma listbox), puis sur le "bouton rendre l'outil" , la ligne excel correspondante à une valeur de la "colonne 4 de ma listbox" soit supprimé

    mon problème de syntaxe :

    i = toutes les valeurs de la colonne A, feuille 3
    dire que lorsque la listbox (colonne 4) = i on supprime la ligne excel correspondante à i

    Merci pour votre attention
    cordialement

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Matthieu, bonjour le forum,

    Peut-être comme ça (à adapter) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim F3 As Worksheet
     
    Set F3 = Sheets("Feuil3")
    For I = 1 To F3.Range("A" & Rows.Count).End(xlUp).Row
        'If ListBox1.Column(3, ListBox1.ListIndex) = F3.Cells(I, 1).Value Then 'si 4ème colonne de la ListBox
        If ListBox1.Column(4, ListBox1.ListIndex) = F3.Cells(I, 1).Value Then 'si 5ème colonne de la ListBox = colonne 4
            F3.Rows(I).Delete
            Exit For
        End If
    Next I

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Salut le forum et salut Thauthème

    Ton code me parait vraiment intéressant, mais je ne sais pourquoi il ne supprime pas la ligne excel.
    J'ai cherché de multiples façons de l'améliorer mais rien n'y fait

    je vous donne en pièce jointe mon fichier, le bouton "rendre l'outil" se trouve dans la macro sortie
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Matthieu, bonjour le forum,

    Le problème venait du fait que F3.Cells(I, 1) est de type Integer alors que ListBox2.Column(3, ListBox2.ListIndex) renvoie une donnée de type String. L'égalité est impossible, 1 <> "1". La solution, convertir le contenu de la cellule en texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton2_Click()
    Dim F3 As Worksheet
    Dim I As Integer
     
    Set F3 = Sheets("feuil3")
    Label4.Visible = True
    For I = 2 To F3.Range("A" & Rows.Count).End(xlUp).Row
        If ListBox2.Column(3, ListBox2.ListIndex) = CStr(F3.Cells(I, 1).Value) Then
            F3.Rows(I).Delete
            Exit For
        End If
    Next I
    End Sub

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Je ne sais comment te remercier ...

  6. #6
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Matthieu, bonjour le forum,

    Arf ! Remercie le forum....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. "Couper" une region en deux a l'aide d'une ligne
    Par arkeya dans le forum Images
    Réponses: 4
    Dernier message: 25/05/2011, 22h46
  2. Supprimer une ligne excel avec une condition
    Par Quentin006 dans le forum Excel
    Réponses: 4
    Dernier message: 28/05/2009, 12h45
  3. Supprimer une ligne excel apres un test IF
    Par yoyo3d dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 18/09/2006, 17h55
  4. [VBA] supprimer une ligne excel
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2006, 15h11
  5. Selection d'une ligne Excel
    Par KOFJCH dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2006, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo