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 données dans excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut Supprimer données dans excel
    Bonjour,

    j'ai un fichier excel avec 16 feuilles.
    Dans une de ces feuilles j'ai des données à supprimer dans les autres feuilles. Dans ma plage C2 jusqu'à C114 j'ai des "emails"
    je voudrais donc dans les autres feuilles supprimer toute la ligne correspondant . Pourriez vous m'aider à réaliser une macro pour cela?

    merci beaucoup

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour le forum, naiiiiiiiii
    essayes ce code et adaptes à ta situation, bien sur si j'ai compris !!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub toto()
    'supprime toutes les lignes correspondantes aux mails de la feuille "mails"
    Dim Ws As Worksheet, y As Long, Dl As Range, Tb, x As Long
    Set Dl = Sheets("mails").Range("C" & Sheets("mails").Rows.Count).End(xlUp)
     
    Tb = Sheets("mails").Range("C1", Dl)
    For Each Ws In Worksheets
      If Ws.Name <> "mails" Then
          For y = Ws.Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 'les données à vérifier sont en A _
                                                                          et commencent en A1
            For x = 1 To UBound(Tb)
              If Ws.Range("A" & y) = Tb(x, 1) Then Rows(y).EntireRow.Delete 'si tu supprimes la ligne entiere
          Next x
        Next y
      End If
    Next Ws
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut merci !
    Alors en fait non,
    les données à vérifier sont dans la colonne C et commence à la deuxième ligne
    (pourquoi step -1, on commence par la dernière ligne? )


    merciiii !

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    quand on parcours des lignes pour les supprimer, on doit commencer par le bas et remonter

    si tu fais l'inverse, ta boucle va sauter des lignes car :

    1) premier tour : ligne 1 ==> je la supprime et la ligne 2 devient la ligne 1
    2) second tour : ligne 2 ==> c'est en fait la ligne 3 qui est venu sur la ligne 2 car la ligne 1 est supprimée
    ==> ma ligne qui était en position 2 au départ ne sera donc pas analysée dans la boucle
    etc...

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    les données à vérifier sont dans la colonne C et commence à la deuxième ligne
    je l'ai mis en commentaire donc tu adaptes, mon code n'est qu'un exemple à adapter mais le principe est bon
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut question
    j'ai une question :

    à quoi correspond cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tb = Sheets("mails").Range("C1", Dl)
    le D1?

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    le D1?
    ce n'est pas D1 mais Dl, c'est une variable "range" donc dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tb = Sheets("mails").Range("C1", Dl)
    Dl correspond à la derniere cellule car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Dl = Sheets("mails").Range("C" & Sheets("mails").Rows.Count).End(xlUp)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut macro ne fonctionne pas
    Bonjour,

    ça n'a pas fonctionné, je re osumets mon problème

    j'ai une feuille qui s'appelle liste à supprimer
    dans cette liste j'ai des emails de C2 jusqu'a C114

    j'ai 15 autres feuilles dans lesquelles il se peut que les mails soient présents dans la colonne si c'est le cas j'voudrais supprimer les lignes qui contiennent ces emails, (les maails dans les autres aussi feuilles sont aussi à partir de la ligne C2, mais le nombre de ligne est variable ) !

    merci

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    C'est pourtant facile d'adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub toto()
    'supprime toutes les lignes correspondantes aux mails de la feuille "mails"
    Dim Ws As Worksheet, y As Long, dL As Range, Tb, x As Long
    Set dL = Sheets("liste a supprimer").Range("C" & Sheets("liste a supprimer").Rows.Count).End(xlUp)
     
    Tb = Sheets("liste a supprimer").Range("C1", dL)
    For Each Ws In Worksheets
      If Ws.Name <> "liste a supprimer" Then
          For y = Ws.Range("C" & Rows.Count).End(xlUp).Row To 1 Step -1 'les données à vérifier sont en A _
                                                                          et commencent en A1
            For x = 1 To UBound(Tb)
              If Ws.Range("C" & y) = Tb(x, 1) Then Rows(y).EntireRow.Delete 'si tu supprimes la ligne entiere
          Next x
        Next y
      End If
    Next Ws
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  10. #10
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut ..
    Mais je ne comprends pas ça supprime des noms de ma feuille liste à supprimer..
    ce n'est pas ce que j'veux pourtant ..

  11. #11
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    chez moi mon essai fonctionne, envoies ton fichier avec données bidon, je regarderai
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  12. #12
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut fichier
    Voici mon fichier avec les données bidons :


    fichierbidon .xls

  13. #13
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    normal tes résultats, ta feuille se nomme "listeasupprimer" et non "liste a supprimer, regardes ce fichier
    Fichiers attachés Fichiers attachés
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  14. #14
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut ..
    Lol oui oui je ne usis pas stupide à ce point cela fonctionne
    mais ça ne supprime pas les bonnes choses aux bons endroits..

  15. #15
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    mais ça ne supprime pas les bonnes choses aux bons endroits..
    expliques-toi mieux, je ne vois pas le probleme, copies ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub toto()
    'supprime toutes les lignes correspondantes aux mails de la feuille "mails"
    Dim Ws As Worksheet, y As Long, dL As Range, Tb, x As Long
    Set dL = Sheets("listeasupprimer").Range("C" & Sheets("listeasupprimer").Rows.Count).End(xlUp)
    Tb = Sheets("listeasupprimer").Range("C2", dL)
    For Each Ws In Worksheets
      If Ws.Name <> "listeasupprimer" Then
          For y = Ws.Range("C" & Rows.Count).End(xlUp).Row To 1 Step -1 'les données à vérifier sont en A _
                                                                          et commencent en A1
            For x = 1 To UBound(Tb)
              If Ws.Range("C" & y) = Tb(x, 1) Then Rows(y).EntireRow.Delete 'si tu supprimes la ligne entiere
          Next x
        Next y
      End If
    Next Ws
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  16. #16
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Sur la feuille Listeasupprimer, il y a un caractère Espace qui traîne à la fin de l'adresse de :

    Charlene koskas.charlene@gmail.com


    Cette adresse suivie d'un espace n'existe pas sur les autres feuilles.

  17. #17
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Citation Envoyé par Docmarti Voir le message
    Bonjour.

    Sur la feuille Listeasupprimer, il y a un caractère Espace qui traîne à la fin de l'adresse de :

    Charlene koskas.charlene@gmail.com


    Cette adresse suivie d'un espace n'existe pas sur les autres feuilles.
    Bonjour Docmarti,
    Perso, je n'ai pas fait gaffe et il est utile de le signaler , merci pour naiiiiiiiii
    donc dans cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            For x = 1 To UBound(Tb)
              Ws.Range("C" & y) = Trim(Ws.Range("C" & y))'donc à ajouter
              If Ws.Range("C" & y) = Tb(x, 1) Then Rows(y).EntireRow.Delete 'si tu supprimes la ligne entiere
          Next x
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  18. #18
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 60
    Par défaut
    Non mais le code est carrément faux il me supprime n'importe quoi..

    de 1 il est faut et en plus il agit même pas sur toutes les feuilles de mon classeur....

    j'peux vous envoyer mon fichier en privé?

  19. #19
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    SI tu veux (quoique la charte du forum....)mais la réponse sera sur le forum, je préférerais un fichier sur le forum en changeant les noms mais avec une même structure q ue l'original car perso j'ai testé ce que je t'ai proposé et n'ai eu aucun problème, attention tu parlai bien de supprimer la ligne entiere ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. ADO Excel, Supprimer Données dans Fichier Fermé
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/08/2008, 19h20
  2. exporter une base de donnée dans excel
    Par ptitange dans le forum Access
    Réponses: 25
    Dernier message: 31/03/2006, 12h27
  3. [VB]Récupération de données dans Excel
    Par jeanangel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2006, 23h30
  4. PB d'utilisation des formulaires de données dans EXCEL
    Par adil155 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/11/2005, 16h09
  5. Récupérer des données dans excel
    Par alexia2 dans le forum MFC
    Réponses: 1
    Dernier message: 19/05/2005, 15h34

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