Incrémenter si doublon dans une colonne

ziska -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   7 276
 
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
ziska
 
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   Statut Contributeur Dernière intervention   7 276
 
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
ziska
 
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   Statut Contributeur Dernière intervention   7 276
 
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
ziska
 
salut,

merci,

mes tableaux C EV sont complets ...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
De rien, mais répond aux questions d'abord...
0

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

Posez votre question
ziska
 
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   Statut Contributeur Dernière intervention   7 276
 
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   Statut Contributeur Dernière intervention   7 276
 
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   Statut Contributeur Dernière intervention   7 276
 
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   Statut Contributeur Dernière intervention   7 276
 
De rien...
Et demande postée dans 4 forums au moins. N'attends plus d'aide de ma part.
eric
0