Supprimer les Doublons

Fermé
lamouette - 9 mai 2014 à 10:27
 lamouette - 10 mai 2014 à 15:19
Bonjour à tous,

je viens vers vous car je suis bloqué !!!

j'ai une fonction macro :


Sub Ajouter()

Dim Lig As Byte, Col As Byte, zone()
Dim Ligvide As Integer

With Sheets("Gestion").Range("A2:C13")
Lig = .Rows.Count
Col = .Columns.Count
zone = .Value
End With

With Sheets("Table de données")
Ligvide = .Columns("A").Find("*", , , , , xlPrevious).Row + 1
.Unprotect
.Cells(Ligvide, "A").Resize(Lig, Col) = zone
.Protect
End With
End Sub

Avec cette fonction j'ajoute les données dans une tableau sur un autre feuillet.
le problème est que je peux avoir plusieurs donnée en double ,
j'aimerai que lors de l'ajout cela vérifie qu'il n'y est pas déjà la donnée et que si elle existe , la remplace !

merci de votre aide


A voir également:

4 réponses

Souafeur Messages postés 205 Date d'inscription mercredi 2 mai 2012 Statut Membre Dernière intervention 26 juin 2015 84
9 mai 2014 à 10:55
Salut,

Même si il doit exister une méthode plus directe ou plus rapide, voici comment je ferais :

Créer une fonction, renvoyant un booléen (initialisé à FALSE), qui parcours ton tableau (final) à la recherche de la donnée que tu veux ajouter. Si la donnée est trouvée dans ton tableau alors le booléen prend la valeur TRUE, sinon il reste à FALSE.

Ensuite, si le résultat de la fonction est FALSE, alors on rempli le tableau (car la données est inédite) et si le résultat est TRUE alors on passe à la donnée suivante sans rien écrire dans le tableau.

Voila, en espérant que ça t'aideras :)
1
Merci de votre réponse

mais étant novice je ne sais comment faire !!

pourriez vous me montrer ?

merci par avance
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 mai 2014 à 11:37
Bonjour,

Quel est le type des données texte, nombre, date...

j'aimerai que lors de l'ajout cela vérifie qu'il n'y est pas déjà la donnée et que si elle existe , la remplace !

La remplace par quoi ?
0
bonjour, les données sont :

Date - Prénom - Fonction

j'ai un formulaire dans le feuillet "gestion" et un bouton "Ajouter" avec la macro plus haute.

je rentre mes données date prénom fonction ça ajoute dans le feuillet "table de données" quand je clique sur le bouton.

ce que j'aimerai c'est que si j'ajoute une autre donnée avec par exemple la même date et la même personne mais que la fonction diffère cela remplace la donnée existante avec la même date et la même personne.

je sais pas si je suis assez clair c'est pas évident d'expliquer!

merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 10/05/2014 à 14:21
je sais pas si je suis assez clair
non

envoie ton classeur avec le nombre REELde ligne avec une petite maquette montrant ce que tu souhaites


pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
http://cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
0
Voila j'ai fait comme vous avez dit.
voici le lien : http://cjoint.com/data/0EkpsP1m58B_formu.xlsm
0