DOUBLONS complexes, par colonne, dans tableau

Bonjour à l'équipe.

Je cherche à traiter des doublons , colonne active par colonne active, dans un tableau.

Càd au fur et à mesure qu'on écrit dans une des colonnes du tableau -->Private Sub Worksheet_Change(ByVal Target As Range)

Les cellules texte sont à ignorer, et pour les valeurs chiffrées, les zéros doivent être ignorés.

J'ai récupéré un petit bout de code mais il est très incomplet et le traitement ne s'effectue pas dans les limites du tableau.

Merci pour votre collaboration.

Cordialement

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Hi gmb,

Merci déjà pour cette réponse rapide.

1. Je constate que si je neutralise la Sub evenement() ca fonctionne encore . (voir v2 en annexe)

Quelle était la fonction de cette sub qui semblerait inutile ?

2. Les datas entrées au bas de la colonne, en dehors du tableau, sont prises en considération. (Mais c'est pas trop grave...)

3. Dans la foulée, après le Msg ("Attention DOUBLON dans la colonne"), serait-il possible de:

A: remplacer le doublon incriminé par un "?" pour bien attirer l'attention sur la nécessité de remplacer cette valeur ?

B: carrément supprimer le doublon

Merci.

Quelle était la fonction de cette sub qui semblerait inutile ?

Elle est en effet inutile et m'a servi à relancer le déclenchement des macro événementielles en cas d'arrêt de la macro lors de sa mise au point.

2. Les datas entrées au bas de la colonne, en dehors du tableau, sont prises en considération.

En effet, la dernière ligne du tableau prise en compte est celle de la première ligne vide que l'on trouve dans la colonne en remontant depuis la dernière ligne de la feuille de calcul.

Dans la version v3 ci-jointe, cette ligne est la dernière ligne verte, écrite en dur dans la macro, c'est la ligne 39.

A: remplacer le doublon incriminé par un "?" pour bien attirer l'attention sur la nécessité de remplacer cette valeur ?

B: carrément supprimer le doublon

Dans cette nouvelle version, le doublon est remplacé par un point d'interrogation lorsque le message s'affiche puis disparaît quand on ferme ce message.

OK ?

Bye !

Hi gmb,

Merci pour ton implication.

J'ai testé la version 3:

1. Impeccable le "?" après le msgbox et ensuite sa suppression pour libérer la cellule

Mais:

2. Les doublons sont encore traités en dehors du tableau. (en dessous, à droite, ...). Tu me disais avoir résolu ce problème. Peut-être as-tu omis de remettre le code dans la V3?

3. Lorsque je veux effacer manuellement des données du tableau (plus d'une cellule sélectionnée et ensuite touche Delete), j'ai un message [Erreur d'exécution '13']/[incompatibilité de type] et le debuggeur me montre l'arrêt de macro sur la ligne [If IsNumeric(Target) And Target <> 0 Then].

Et à ce moment la macro ne fonctionnera plus du tout sauf si on relance la Sub evenement()

Bonjour

Nouvelle version.

Bye !

Bonjour gmb.

Super !

1. Ah oui, je vois maintenant la limitation à la ligne 39

2. Serait-il cependant possible que les doublons ne soient pas contrôlés dans les autres colonnes que celles du seul tableau ?

ici la macro fonctionne pour toutes les colonnes. (?) Une sorte de limitation précise de la plage, en fait.

3. Qu'est ce qui faisait que la macro bloquait lors de l'effacement de plusieurs cellules ? (J'ai ,un problème identique dans un autre programme). Ca m'aiderait à comprendre

Merciii

Nouvelle version.

Qu'est ce qui faisait que la macro bloquait lors de l'effacement de plusieurs cellules ?

Quand tu séclectionnes plusieurs cellules, target ne représente plus la cellule sélectionnée mais un ensemble de cellules. Dans les instructions de la macro, il s'en trouve alors qui ne s'appliquent pas à une plage (target) mais à une cellule. D'où le bug.

Pour éviter ça, on arrête la macro dès le départ si target représente plusieurs cellules.

Bye !

Hi gmb

IM-PEC-CA-BLE !

Merci de mettre tes connaissances, et ton temps, à disposition sur ce super Forum !!!

Mille mercisssssssss

Rechercher des sujets similaires à "doublons complexes colonne tableau"