Incrémenter si doublon dans une colonne

Fermé
ziska - 1 févr. 2016 à 04:56
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 3 févr. 2016 à 23:56
Bonjour,

J'ai effectué des index(equiv()) afin de pouvoir trouver la valeur approchée correspondant à celle cherchée.

Seulement, je souhaiterai pouvoir incrémenter de +1 mon numéro de ligne lorsque index(equiv()) me trouve une valeur déjà trouvée en haut de la colonne.
Et ainsi de suite (incrémentation de +1) jusqu'à ce que la valeur soit unique dans la colonne.

Ci dessous le lien du fichier :

http://www.cjoint.com/c/FBbdZckeab1

merci d'avance pour votre précieuse aide,
A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
1 févr. 2016 à 08:05
Bonjour,

Ta question est différente de l'explication du fichier.
Ici :
=SI(J122="";"";NB.SI($J$119:J122;J122))

Fichier :
=SI(EQUIV(J122;J:J;0)=LIGNE();J122;"")

eric
0
salut !


je ne suis pas sur d'avoir été bien clair dans mes propos, je m'excuse.

le but de toute la manoeuvre en fait est de pouvoir n'avoir que des valeurs uniques dans la colonne I.

C'est à dire, de ne pas avoir de même valeur dans deux cellulles de la même colonne I.

Mais cette règle doit s'appliquer en respectant ceci :
1) Pour qu'Excel garde des valeurs uniques, alors il doit prendre la valeur issue de index(equiv()) SUIVANTE, d'où l'incrémentation de +1.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
1 févr. 2016 à 18:43
Bonjour,

Pas plus clair, désolé...
Avec =SI(EQUIV(J122;J:J;0)=LIGNE();J122;"") tu as bien des valeurs uniques dans la colonne non ?
C'est quelles valeurs que tu voudrais à la place ? Fourni un fichier avec le résultat attendu
eric
0
salut et merci pour ta réponse,

j'ai mis un fichier contenant les résultats à avoir dans ce message pour t'éclaire peut être un peu plus...

merci encore

http://www.cjoint.com/c/FBbsGNLEFy1
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
1 févr. 2016 à 20:11
Par formule je n'y crois guère.
On peut voir pour une fonction personnalisée en vba si tu veux
Ou par macro si tu as beaucoup de lignes et que tu veux que ce soit plus rapide, il faudra la relancer pour mettre à jour.
Si l'indice n'est qu'une colonne intermédiaire on peut l'intégrer, idem pour A Changer.
Tes tableaux C EV etc sont complets ou beaucoup plus grands ?
0
salut,

merci,

mes tableaux C EV sont complets ...
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
1 févr. 2016 à 21:53
De rien, mais répond aux questions d'abord...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai répondu :)

ces tableaux sont complets, normalement il y aura le même nombre de lignes.

parcontre l'emplacement peut changer.

thank you
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
2 févr. 2016 à 09:04
Bonjour,

Fonction ou macro ?
Indice et A Changer colonnes intermédiaires qu'on intègre ?

parcontre l'emplacement peut changer
C'est à dire ?
Une macro est très rigide, elle ne supporte pas qu'on lui déplace les données ou qu'on insère des colonnes. La structure du fichier ne doit pas changer.

eric
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
Modifié par eriiic le 2/02/2016 à 13:26
Re,

Bon, j'ai fait à mon idée. Après je vais être bien occupé plusieurs jours et je n'aurais plus le temps.
Ca sera par macro.

La macro travaille sur la feuille active, même d'un autre classeur.
Elle utilise uniquement A:C de cette feuille, et pose le résultat dans la colonne définie au début de la macro par :
Const colDest = "F" (Alt+F11 pour voir le code et l'adapter).

Les 3 feuilles paramètres 'A EV' etc doivent rester dans le classeur de la macro.
J'ai considéré qu'on trouvait toujours l'emplacement et donc peu de contrôles. 2 cas peuvent te ramener "Anomalie" pour éviter un plantage si on sort des limites. Dans ce cas recherche pourquoi elle n'a pas retrouvé l'emplacement, peut-être un manque ou une erreur dans les données.

Pour les 4 feuilles je considère qu'il n'y a pas de ligne vide en A, et que les données commencent toujours en ligne 2.
La feuille active ne doit avoir aucune ligne masquée, je désactive donc les filtres.

Activer ta feuille et lancer la macro empAee(). Par sécurité elle ne fait qq chose que si [A1] = "Picking"
A tester : https://www.cjoint.com/c/FBcmortBiaQ
eric

PS : je viens de voir une divergence, je regarde un peu plus tard.
Si tu trouves avant que c'est moi qui ai bon fais-le moi savoir

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
2 févr. 2016 à 16:34
PS2 : il semble que j'ai bon. P 009 A3 que tu proposes en ligne 37 est déjà utilisé en ligne 35.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
3 févr. 2016 à 23:56
De rien...
Et demande postée dans 4 forums au moins. N'attends plus d'aide de ma part.
eric
0