Incrémenter si doublon dans une colonne
ziska
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
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,
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:
- Incrémenter si doublon dans une colonne
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Supprimer doublon colonne excel - Guide
6 réponses
Bonjour,
Ta question est différente de l'explication du fichier.
Ici :
Fichier :
eric
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
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.
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.
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
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
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 ?
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 ?
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
ces tableaux sont complets, normalement il y aura le même nombre de lignes.
parcontre l'emplacement peut changer.
thank you
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
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