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 :

Macro Suppression de "Presque doublons"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Salarié

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut Macro Suppression de "Presque doublons"
    Bonjour à vous,

    Je souhaite créer une macro dans Excel, mais n'y connaissant rien du tout je n'arrive pas à m'en sortir.
    Je viens donc vers vous pour savoir si vous pouviez m'aider.

    Je cherche dans ce tableau à supprimer certaines données selon plusieurs critères.
    Ce tableau représente des données d'observation d'oiseaux.
    Je souhaite supprimer pour chaque espèce (Colonne D, "Nom latin") les données trop proches les unes des autres (Colonnes AF et AG, "X_Lambert93" et "Y_Lambert93").
    C'est à dire que si deux données ont le même Nom latin et que les valeurs des colonnes X et Y sont trop proches, on en supprime une (une suppression de doublon élargie en gros).

    Je pensai à un truc du style (je n'ai pas du tout la syntaxe VBA) :
    SI "Nom latin" ligne 2 = "Nom latin" ligne 3
    SI ET/OU
    "X_Lambert93" ligne 2 = ("X_Lambert93" ligne 3 + 10) OU "X_Lambert93" ligne 3 = ("X_Lambert93" - 10)
    "Y_Lambert93" ligne 2 = ("Y_Lambert93" ligne 3 + 10) OU "Y_Lambert93" ligne 3 = ("Y_Lambert93" - 10)
    GARDER Ligne 2

    Merci d'avance.

    PS : En PJ un exemple de tableur pour lequel appliquer cette macro.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Potentilla Voir le message
    les valeurs des colonnes X et Y sont trop proches
    Il faut que tu définisses PRECISEMENT ce que signifie "proche" pour toi.
    La "logique floue" qui pilote nos cerveaux humains est difficilement applicable à l'informatique. Même pour qualifier l'imprécision, il faut être précis.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Salarié

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Que veux-tu dire ? Ma réponse n'est pas satisfaisante ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Salarié

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Je vais essayé d'être plus clair alors (même si c'est pas facile)
    En fait, pour reprendre au début, ce tableur est destiné à être intégré dans un Système d'Information Géographique (logiciel de cartographie en simple).
    Vu qu'il y a beaucoup de données, je souhaite supprimer les données similaires (même "Nom latin") trop proches géographiquement les unes des autres.
    Afin de définir le "trop proche géographiquement", j'ai fait un petit graphique. Les coordonnées sont les colonnes "X" et "Y".

    Nom : Image.png
Affichages : 102
Taille : 3,3 Ko

    Je souhaite que l'une des deux données "proches" (entourées ici en noir) soit supprimée.
    Pour que l'on considère que les données sont proches, il faut que X1 <= X2 +/- t ET Y1 <= Y2 +/- t, t restant à définir selon le résultat voulu. (c'est à dire que le point 1 est compris à l'intérieur d'un carré centré sur le point 2 et de côté égal à t).

    J'espère que c'est plus clair.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Salarié

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    EN effet, je n'y ai pensé que après avoir écrit ce premier message. Lors du second, j'ai rectifié.

    Citation Envoyé par Potentilla Voir le message
    X1 <= X2 +/- t ET Y1 <= Y2 +/- t
    Ou écrit autrement : X2 - t <= X1 <= X2 + t / Y2 - t <= Y1 <= Y2 + t

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Salarié

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Ce que j'entends par proche, c'est au niveau des valeurs dans les coordonnées géographiques , ici le +/10 (il s'agit de mètres, après je ferai différents essais selon la précision voulue).

    Citation Envoyé par Potentilla Voir le message
    "X_Lambert93" ligne 2 = ("X_Lambert93" ligne 3 + 10) OU "X_Lambert93" ligne 3 = ("X_Lambert93" - 10)
    "Y_Lambert93" ligne 2 = ("Y_Lambert93" ligne 3 + 10) OU "Y_Lambert93" ligne 3 = ("Y_Lambert93" - 10)

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Potentilla Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "X_Lambert93" ligne 2 = ("X_Lambert93" ligne 3 + 10) OU "X_Lambert93" ligne 3 = ("X_Lambert93" - 10)
    "Y_Lambert93" ligne 2 = ("Y_Lambert93" ligne 3 + 10) OU "Y_Lambert93" ligne 3 = ("Y_Lambert93" - 10)
    En tant qu'algorithme, ceci ne fonctionnera pas.
    Pour borner une valeur, il faut utiliser des inégalités (<, >, <= ou >=) et non des égalités.

Discussions similaires

  1. Macro: Suppression de doublons
    Par Vince001 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/06/2012, 11h08
  2. [XL-2003] macro suppression de doublon avec condition
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/03/2012, 16h18
  3. Réponses: 2
    Dernier message: 02/07/2010, 10h55

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