Fonction SI + TROUVE prenant en compte la virgule si pas de slash

Bonjour à tous,

J'essaie de développer pour mon travail un export de mon fichier salariés et la rubrique adresse me donne du fil à retordre.

Dans un premier onglet se trouvent toutes les informations du salarié dont son adresse sur une colonne que j'ai besoin de ressortir sur un second onglet et sur 3 colonnes différentes "NUMERO", "BIS/TER" et "RUE...". Il y a des virgules après les numéros et j'ai réussi à utiliser la fonction TROUVE. Cela se complique quand une adresse comporte BIS ou TER. Dans ce cas l'adresse est écrite comme suit : "22/TER, rue des fleurs" (sans bis/ter c'est juste "22, rue des fleurs")

J'ai donc isolé la rue sur 26 caractères après la virgule avec cette formule : =SIERREUR(MAJUSCULE(STXT(INFOS!O2;TROUVE(",";INFOS!O2)+2;26));"")

Ainsi que BIS et TER avec cette formule dans une autre colonne : =SIERREUR(STXT(INFOS!O2;TROUVE("/";INFOS!O2)+1;3);"")

J'ai maintenant besoin d'isoler le numéro en prenant en compte le slash s'il y en a un, sinon la virgule quand il n'y a pas de BIS/TER. Voici la formule que j'ai tenté d'utiliser :

=SI(OU(U4="BIS";U4="TER");GAUCHE(INFOS!O2;TROUVE("/";INFOS!O2)-1);GAUCHE(INFOS!O2;TROUVE(",";INFOS!O2)-3))

Pour lui demander, s'il trouve BIS ou TER dans la colonne U, de chercher le slash et de mettre ce qui se trouve avant ce slash, sinon de chercher une virgule. Ma formule SI semble bien comprendre si la colonne U est vide ou non, mais elle fait primer le premier résultat si vrai mais ignore le résultat si faux. S'il n'y a pas de /, elle ne cherche pas de virgule et me laisse une case vide.

J'espère que je suis bien claire dans mes explications, et que quelqu'un saura me dire s'il y a une solution (je ne trouve que les virgules OU les slash sur le forum, pas les deux avec la conditions d'absence du slash).

Par avance merci beaucoup,

Anaïs

Bonjour Anaïs pourrais-tu nous fournir un exemple de ton fichier s'il te plaît.

Bonjour PépéMax,

Voici avec 3 faux salariés

Un avec une adresse Bis, un avec Ter et un sans rien.

L'onglet 1 : MEGALISTE est l'onglet où je copie/colle le tableau initial d'informations rempli par quelqu'un d'autre au fur et à mesure que de nouveaux salariés arrivent

L'onglet 2 : INFOS est celui où je répercute les informations dont j'ai besoin juste en tapant le nom d'une personne en première colonne (je tape "MALAK" et toutes les infos trouvées en onglet 1 se répercutent en onglet INFOS) à la suite de son nom.

L'onglet 3 : INTEGRATION est celui que j'exporte à la fin pour intégrer dans mon logiciel. C'est dans cet onglet que j'ai besoin d'avoir l'adresse scindée en 3 colonnes.

Bonjour,

Dans la formule en T4, à quoi sert le '-3' à la fin ? Si tu remplaces par '-1', ce n'est pas mieux ?

Bonjour,

remplace le / par une , et tout redevient simple :

=GAUCHE(INFOS!O2;CHERCHE(",";SUBSTITUE(INFOS!O2;"/";","))-1)
eric

Ah mais oui ! Je me suis sabotée avec ce -3 je n'ai pas fait attention. Donc la formule est correcte finalement... Merci U.Milité, je me sens bien bête !

Et en effet, je n'ai pas pensé au SUBSTITUTE, merci eriiic. Je vais voir laquelle de ces deux formules fonctionne le mieux.

Merci à tous

Bonjour Anais,

Je te joins ton fichier modifier, avec un début de solution (Onglet Infos 2), je te laisse finir ou revenir pour en savoir plus si tu le souhaite,

Je ne peux que te conseiller d’utiliser power query, tu iras bien plus vite à l'avenir,

Cordialement,

Merci Massari,

J'ai songé au power query également, mais cela implique à la personne qui fera les intégrations de faire des manips supplémentaires. Comme l'onglet 1 est amené à être actualisé avec un nouveau régulièrement, je trouve dans mon cas qu'une formule automatique est plus simple même si plus compliquée à mettre en place.

Si je rencontre d'autres problèmes avec les formules, je switcherais sur le power query que je garde en backup !

Bonne journée,

Bonjour Anais,

Sachez qu'on peut mettre un petit code VBA pour actualiser à chaque nouvelle entrée de votre onglet MEGALIST, l'onglet INFOS, et donc aucune manip supplémentaire pour la personne qui intègrera ces éléments,

Bonne journée à vous également,

Cordialement,

Rechercher des sujets similaires à "fonction trouve prenant compte virgule pas slash"