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 en fonction d'une valeur de cellule [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut Supprimer une ligne en fonction d'une valeur de cellule



    Je voudrais savoir comment faire pour supprimer une ligne en fonction d'une valeur d'une des cellules de la ligne.

    Sauf qu'on ne sait pas dans quelles colonne se trouve la cellules ni dans quelle ligne

    En fait il me faut chercher dans une feuille le mot "Total" (on ne sait pas où il est) et supprimer la ligne dans laquelle se trouve la cellule avec le mot "Total"

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour FCL31 fait une recherche SUR FIND si tu trouves pas repost a+

    un exemple simple: si total vide la ligne attention code pour une occurence si plusieurs total possible il faut un autre code a adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
    Option Compare Text
    Sub es()
      Dim c As Variant
        Set c = [A:iv].Find(What:="total", LookIn:=xlValues, LookAt:=xlWhole)
        If c Is Nothing Then
          MsgBox "Non trouvé"
        Else
          c.EntireRow.Delete
        End If
    End Sub

  3. #3
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Sa a l'air de bien marché

    J'ai juste oublié de spécifier que la recherche devait se faire sur toutes les feuilles du classeur or là sa me fait le recherche sur une feuille

    Désolé

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    dans ce cas boucle sur les feuilles tu sais le faire on t'a déjà donné le code...
    je te laisse faire les déclaration de variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for each sh in worksheets
     
        Set c = sh.[A:iv].Find(What:="total", LookIn:=xlValues, LookAt:=xlWhole)
        If c Is Nothing Then
          c.EntireRow.Delete
        End If
    next sh
    Si tu veux un message met une variable booléenne a vrai une fois le résultat trouvée et test la après la boucle

    edit petit souci le clavier le code est visiblement semblable a celui de laetitia

  5. #5
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Citation Envoyé par Krovax Voir le message
    dans ce cas boucle sur les feuilles tu sais le faire on t'a déjà donné le code...
    je te laisse faire les déclaration de variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for each sh in worksheets
     
        Set c = sh.[A:iv].Find(What:="total", LookIn:=xlValues, LookAt:=xlWhole)
        If c Is Nothing Then
          c.EntireRow.Delete
        End If
    next sh
    Si tu veux un message met une variable booléenne a vrai une fois le résultat trouvée et test la après la boucle

    edit petit souci le clavier le code est visiblement semblable a celui de laetitia
    Merci de ton aide
    Mais j'avais essayé mais sa marche pas


    Par contre laetitia, ton code, je ne sais pas pourquoi, ne me supprime pas la ligne avec le mot "Total" mais sa me supprime la ligne 1

  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, comment tu l as ecrit ??????? je viens de tester pas de souci.

  7. #7
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re essai comme cela !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
    Option Compare Text
    Sub es()
    Dim c As Variant, ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In Worksheets
    ws.Activate
    Set c = [A:iv].Find(What:="total", LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then c.EntireRow.Delete
    Next ws
    End Sub
    ps salut l'ami krovax effectivement on ta donne le code hier sur un post qui a ete supprimer??

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

Discussions similaires

  1. [XL-2010] supprimer des lignes en fonction de la valeur de la cellule d'une colonne
    Par psylo24 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2012, 14h09
  2. Réponses: 6
    Dernier message: 24/05/2012, 12h53
  3. listview couleur d'une ligne en fonction d'une valeur
    Par Kanetsugu dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 27/03/2012, 12h48
  4. [XL-2003] supprimer une ligne en fonction d'une date
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2010, 21h55
  5. Réponses: 1
    Dernier message: 10/02/2008, 20h56

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