Test logique et concatener
Fermé
automne09
Messages postés
6
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
17 juillet 2013
-
16 juil. 2013 à 23:41
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 17 juil. 2013 à 08:03
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 17 juil. 2013 à 08:03
A voir également:
- Test logique et concatener
- Test performance pc - Guide
- Test composant pc - Guide
- Redmi note 13 5g test - Accueil - Téléphones
- Test performance pc gratuit - Accueil - Utilitaires
- Concatener deux cellules excel - Guide
5 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 17/07/2013 à 00:32
Modifié par eriiic le 17/07/2013 à 00:32
Bonjour,
par formule ça risque d'être très lourd...
Je te propose une fonction personnalisée en vba (accepter les macros).
J'ai fait pour les 2 premiers cas. Pour les autres annoncés plus compliqués, tu ne dis pas ce que tu veux en retour. J'ai improvisé...
Syntaxe :
=abreger(A2)
J'ignore d'office tous les mots à 2 caractères. Préciser s'il ne faut les ignorer que si le 2nd caractère est un point.
Regarde ce que ça donne, on complètera les cas particuliers.
Pour chaque cas mettre le nom d'origine et l'abrégé voulu (préciser les mots à ignorer, les caractères à supprimer/remplacer, etc) dans un fichier xls à déposer sur cjoint.com. Coller ici le lien fourni.
https://www.cjoint.com/c/CGraGoftMeq
Alt+F11 pour voir le code, à mettre dans un module Standard : Module1
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
par formule ça risque d'être très lourd...
Je te propose une fonction personnalisée en vba (accepter les macros).
J'ai fait pour les 2 premiers cas. Pour les autres annoncés plus compliqués, tu ne dis pas ce que tu veux en retour. J'ai improvisé...
Syntaxe :
=abreger(A2)
J'ignore d'office tous les mots à 2 caractères. Préciser s'il ne faut les ignorer que si le 2nd caractère est un point.
Regarde ce que ça donne, on complètera les cas particuliers.
Pour chaque cas mettre le nom d'origine et l'abrégé voulu (préciser les mots à ignorer, les caractères à supprimer/remplacer, etc) dans un fichier xls à déposer sur cjoint.com. Coller ici le lien fourni.
https://www.cjoint.com/c/CGraGoftMeq
Alt+F11 pour voir le code, à mettre dans un module Standard : Module1
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
automne09
Messages postés
6
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
17 juillet 2013
17 juil. 2013 à 00:40
17 juil. 2013 à 00:40
Bonsoir, merci beaucoup !
Effectivement j'ai oublié de préciser le résultat voulut pour plusieurs cas. Dans le cas d'une variété de sous espèce, comme Amaranthus hybridus L. subsp. hybridus var. patulus, l'abbréviation sera"Ama hybr hybr patu"
Dans le cas d'une variété d'espèce ça sera, par exemple "Ange sylv sylv" pour Angelica sylvestris L. var. sylvestris. Il me semble que l'on aura jamais de doublon du type Angelica sylvestris L. var. sylvestris et Angelica sylvestris L. subsp. sylvestris. Donc ça ne pose pas de problème.
Je regarde ta macro tout de suite,
Automne09
Effectivement j'ai oublié de préciser le résultat voulut pour plusieurs cas. Dans le cas d'une variété de sous espèce, comme Amaranthus hybridus L. subsp. hybridus var. patulus, l'abbréviation sera"Ama hybr hybr patu"
Dans le cas d'une variété d'espèce ça sera, par exemple "Ange sylv sylv" pour Angelica sylvestris L. var. sylvestris. Il me semble que l'on aura jamais de doublon du type Angelica sylvestris L. var. sylvestris et Angelica sylvestris L. subsp. sylvestris. Donc ça ne pose pas de problème.
Je regarde ta macro tout de suite,
Automne09
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 737
17 juil. 2013 à 01:00
17 juil. 2013 à 01:00
Bonsoir
Soit le nom complet en B6
En C6 la formule suivante devrait donner ce que tu recherches :
SI(ET(NBCAR(B6)>NBCAR(SUBSTITUE(B6;"subsp.";""));NBCAR(B6)>NBCAR(SUBSTITUE(B6;"var.";"")));(GAUCHE(B6;4)&STXT(B6;CHERCHE("subsp.";B6)+6;5))&STXT(B6;CHERCHE("var.";B6)+4;5);SI(NBCAR(B6)>NBCAR(SUBSTITUE(B6;"subsp.";""));GAUCHE(B6;4)&STXT(B6;CHERCHE("subsp";B6)+6;5);SI(NBCAR(B6)>NBCAR(SUBSTITUE(B6;"var.";""));GAUCHE(B6;4)&STXT(B6;CHERCHE("var.";B6)+4;5);GAUCHE(B6;4))))
Cdlmnt
Soit le nom complet en B6
En C6 la formule suivante devrait donner ce que tu recherches :
SI(ET(NBCAR(B6)>NBCAR(SUBSTITUE(B6;"subsp.";""));NBCAR(B6)>NBCAR(SUBSTITUE(B6;"var.";"")));(GAUCHE(B6;4)&STXT(B6;CHERCHE("subsp.";B6)+6;5))&STXT(B6;CHERCHE("var.";B6)+4;5);SI(NBCAR(B6)>NBCAR(SUBSTITUE(B6;"subsp.";""));GAUCHE(B6;4)&STXT(B6;CHERCHE("subsp";B6)+6;5);SI(NBCAR(B6)>NBCAR(SUBSTITUE(B6;"var.";""));GAUCHE(B6;4)&STXT(B6;CHERCHE("var.";B6)+4;5);GAUCHE(B6;4))))
Cdlmnt
automne09
Messages postés
6
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
17 juillet 2013
17 juil. 2013 à 01:10
17 juil. 2013 à 01:10
Bonsoir,
on a posté en même temps.
Ca marche génial ! seul problème pour les noms d'espèce sans sous espèce ou variété je n'ai que les 4 premières lettre du premier mot (le genre).
on a posté en même temps.
Ca marche génial ! seul problème pour les noms d'espèce sans sous espèce ou variété je n'ai que les 4 premières lettre du premier mot (le genre).
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 737
17 juil. 2013 à 01:14
17 juil. 2013 à 01:14
Oui j'ai oublié l'espèce !
voilà correction faite
SI(ET(NBCAR(B7)>NBCAR(SUBSTITUE(B7;"subsp.";""));NBCAR(B7)>NBCAR(SUBSTITUE(B7;"var.";"")));(GAUCHE(B7;4) & STXT(B7;CHERCHE(" ";B7);4) & STXT(B7;CHERCHE("subsp.";B7)+6;5))&STXT(B7;CHERCHE("var.";B7)+4;5);SI(NBCAR(B7)>NBCAR(SUBSTITUE(B7;"subsp.";""));GAUCHE(B7;4)& STXT(B7;CHERCHE(" ";B7);4)&STXT(B7;CHERCHE("subsp";B7)+6;5);SI(NBCAR(B7)>NBCAR(SUBSTITUE(B7;"var.";""));GAUCHE(B7;4)& STXT(B7;CHERCHE(" ";B7);4)&STXT(B7;CHERCHE("var.";B7)+4;5);GAUCHE(B7;4)& STXT(B7;CHERCHE(" ";B7);4))))
voilà correction faite
SI(ET(NBCAR(B7)>NBCAR(SUBSTITUE(B7;"subsp.";""));NBCAR(B7)>NBCAR(SUBSTITUE(B7;"var.";"")));(GAUCHE(B7;4) & STXT(B7;CHERCHE(" ";B7);4) & STXT(B7;CHERCHE("subsp.";B7)+6;5))&STXT(B7;CHERCHE("var.";B7)+4;5);SI(NBCAR(B7)>NBCAR(SUBSTITUE(B7;"subsp.";""));GAUCHE(B7;4)& STXT(B7;CHERCHE(" ";B7);4)&STXT(B7;CHERCHE("subsp";B7)+6;5);SI(NBCAR(B7)>NBCAR(SUBSTITUE(B7;"var.";""));GAUCHE(B7;4)& STXT(B7;CHERCHE(" ";B7);4)&STXT(B7;CHERCHE("var.";B7)+4;5);GAUCHE(B7;4)& STXT(B7;CHERCHE(" ";B7);4))))
automne09
Messages postés
6
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
17 juillet 2013
17 juil. 2013 à 01:32
17 juil. 2013 à 01:32
Je n'ai plus qu'à remplacer les & STXT(B7;CHERCHE(" ";B7);4) par & STXT(B7;CHERCHE(" ";B7);5) pour avoir 4 lettres dans mon abréviation à cause de l'espace et c'est parfait, j'ai vérifié je n'obtient pas de doublons (sauf 2, 3 espèces pour lesquels les 4 premières lettres des noms d'espèces sont identiques ... j'appliquerai une procédure particulière pour celles ci).
Merci beaucoup !
Automne09
Merci beaucoup !
Automne09
automne09
Messages postés
6
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
17 juillet 2013
17 juil. 2013 à 01:03
17 juil. 2013 à 01:03
Ci joint le fichier complété : : https://www.cjoint.com/c/CGra5AJIz47
Par contre en lisant ta macro j'ai une autre idée qui me viens en tête, j'ai la liste de toutes les abréviations de nom d'auteurs sur wikipédia (http://fr.wikipedia.org/wiki/Liste_des_abr%C3%A9viations_d'auteur_en_taxinomie_v%C3%A9g%C3%A9tale). Du coup si je récupère cette correspondance, on doit pouvoir dire à excel de supprimer toute valeur comprise dans cette liste, ça réglera déjà une grosse partie du problème. Il ne restera plus qu'à supprimer tous les "subsp." et "var." et de ne garder que les 4 premières lettres de chaque mot.
Par contre en lisant ta macro j'ai une autre idée qui me viens en tête, j'ai la liste de toutes les abréviations de nom d'auteurs sur wikipédia (http://fr.wikipedia.org/wiki/Liste_des_abr%C3%A9viations_d'auteur_en_taxinomie_v%C3%A9g%C3%A9tale). Du coup si je récupère cette correspondance, on doit pouvoir dire à excel de supprimer toute valeur comprise dans cette liste, ça réglera déjà une grosse partie du problème. Il ne restera plus qu'à supprimer tous les "subsp." et "var." et de ne garder que les 4 premières lettres de chaque mot.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 17/07/2013 à 01:31
Modifié par eriiic le 17/07/2013 à 01:31
Re,
Il faut fournir les règles aussi...
Dès qu'il y a une ( on abandonne tout ce qui est derrière ?
Toujours 4 mots maxi ?
Et ton lien wiki est incorrect.
eric
Il faut fournir les règles aussi...
Dès qu'il y a une ( on abandonne tout ce qui est derrière ?
Toujours 4 mots maxi ?
Et ton lien wiki est incorrect.
eric
automne09
Messages postés
6
Date d'inscription
mardi 16 juillet 2013
Statut
Membre
Dernière intervention
17 juillet 2013
17 juil. 2013 à 01:34
17 juil. 2013 à 01:34
Re, pardon j'ai refermé la parenthèse http://fr.wikipedia.org/wiki/Liste_des_abr%C3%A9viations_d'auteur_en_taxinomie_v%C3%A9g%C3%A9tale
Je vais appliquer la formule donnée plus haut qui a l'air de fonctionner, je vérifierai plus en détails demain.
Merci et bonne fin de soirée,
Automne09
Je vais appliquer la formule donnée plus haut qui a l'air de fonctionner, je vérifierai plus en détails demain.
Merci et bonne fin de soirée,
Automne09
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 17/07/2013 à 08:04
Modifié par eriiic le 17/07/2013 à 08:04
Bonjour,
Pas eu de réponse à mes 2 questions...
Je supprime donc tout la totalité ce qui suit une (
J'ignore les mots se terminant par un point, si ce n'est pas correct tu as juste à supprimer le test pour enlever cette fonctionnalité.
En sécurité tu as la possibilité d'avoir une liste de mots à ignorer dans la feuille 'Exclus'
https://www.cjoint.com/c/CGricud241Z
Le lien est toujours mauvais...
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Pas eu de réponse à mes 2 questions...
Je supprime donc tout la totalité ce qui suit une (
J'ignore les mots se terminant par un point, si ce n'est pas correct tu as juste à supprimer le test pour enlever cette fonctionnalité.
En sécurité tu as la possibilité d'avoir une liste de mots à ignorer dans la feuille 'Exclus'
https://www.cjoint.com/c/CGricud241Z
Le lien est toujours mauvais...
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.