Des pro excel dans le coin ?

J'ai besoin de votre aide

J'ai un fichier excel au boulot, je veux automatisé tous sa
J'ai donc une feuille excel ou je rentre mon code (le nombre) et une base de données
Ma base de données contient le nom de mes client par code etc....

Voila je pose les bases

Je donnes un nombre (oui c'est un grand nombre) (par exemple le dernier que j'ai reçu vendredi)
5042207413622217201841152

se nombre se décompose comme suit
504 / 2207413 / 62 / 2217201 / 841152

504 désigne que c'est un colis et/ou 404 pour un sachet
2207413 code expéditeur
62 code établissement destinataire
2217201 code destinataire
841152 code colipass

Je voudrais que quand je rentre un nombre du style 5042207413622217201841152 il se décompose dans plusieurs cases du fichier

Scan / Date / Code Expéditeur / Expéditeur / Etablissement destinataire / Code Destinataire / Destinataire / N°de colipass / Sachet / Colis

Une fois les nombres posés dans chaque case, le fichier va chercher a qui il correspondent dans la base de données et compléter les cases manquantes

ex: 2207413(code expéditeur) signifie que c'est le client Mr Ducon

Sachant aussi que je n'ai quasi aucun moyen de transférer des fichiers sur le pc en questions du moins pas conventionnellement vu que tu est protéger sur les serveurs mais je peux essayer de m'arranger en passant par le pc d'un responsable en secret.


Je vous remercie et hésiter pas pour les questions.

ps: mon bescherelle a pris feu alors soyez indulgent.

Poster un commentaire
boulbi
boulbi
6 ans

Pour décomposer ton nombre tu utiliseras selon les besoin les fonctions : gauche(), droite(), ou une combinaison cherche() - nbcar() voire stxt().
Pour la correspondance tu utiliseras cette bonne vieille recherchev().

103dubled
103dubled
6 ans

@boulbi: merci stxt va bien m'aider et recherchev je l'avais déjà vu quelque part mais j’étais pas sur.

anonyme
anonyme
6 ans

Pour decomposer, tu peux utiliser MID(text, start, n_char)
Pour la recherche en base, deux solutions:
- soit tu peux taper directement dessus (ce que je doute)
- avoir une version locale (= un classeur excel) sur lequel tu peux taper

Billydemerde

=somme pour les additions
le reste c'est les doigts dans le nez

lut1ternet

Il existe plein de manières, voici deux solutions (je ne peux pas poster de lien alors copie / colle du coup...) :

puu.sh/xervN/88c6fb96e2.png
puu.sh/xerxo/729d3b84cd.png
puu.sh/xerxG/3fec17f174.png
puu.sh/xery7/243e62533b.png
puu.sh/xeryK/c84fe96ec7.png
puu.sh/xerz7/29545969be.png
puu.sh/xerzT/1a83750afa.png
puu.sh/xerAc/ee535ce6e1.png
puu.sh/xerAu/84e04a2a07.png

Tu peux faire aussi sans utiliser les colonnes B C et D mais il te faut du coup faire =DROITE(GAUCHE(A1;XXX);XXX) où X sont les positions des caractères que tu veux récupérer comme ici :

puu.sh/xerJb/931b0a2b03.png

Comme dit boulbi, STXT c'est bien aussi et sûrement moins chiant que ce que j'ai fait.

103dubled
103dubled
6 ans

@lut1ternet: merci je vais utiliser stxt mais tes photos mon pas mal aidé a comprendre le fonctionnement de ces formules

THX_1138
THX_1138
6 ans

La première question à se poser : est-ce que le découpage est toujours le même ou est-ce que ça peut varier ?
Si ça varie, t'es dans la merde.

Rien à foutre de ton Bescherelle. Tu dois l'avoir en tête, pas sous ton derche pour atteindre le clavier...

103dubled
103dubled
6 ans

@THX_1138: toujours le même (pas le même numéro) nombre de caractère

Nyrol
Nyrol
6 ans

Je ne peux pas t'aider, je n’excelle pas dans ce domaine.

Cryos
Cryos
6 ans

Tu peux t en sortir de deux manières en effet. La première est de baser la décomposition par diverses formules, la deuxième est en jouant avec des macro. Si tu as un scan ça peut être d autant plus efficace car une input box suffit, avec tous les contrôles imaginable que tu peux réaliser. Il s agit de programmation en un langage similaire de visual basic, avec quelques spécificités d ou le nom VBA ( visual basic pour Application). Tu peux d ailleurs accéder en maintenant par exemple alt F11. Google regorge de cours explicatif à ce sujet. Moi je partirai sur ça bien que ça ne reste qu un des nombreux chemin possible.
Edit : en oubliant pas un point, toutes les formules d excel sont compilées et plus rapides que la programmation en manuel. Ça permet de créer de nouvelles fonctions par exemple si celle présentes ne tu satisfont pas.

MrOasis
MrOasis
6 ans

en secret

103dubled
103dubled
6 ans

5,04220741362222E+024 il ne prend pas tous les caractères . Des idées ?

Zilbon
Zilbon
6 ans

@103dubled: alors de tête tu cliques droit sur la cellule format--> nombre et la tu auras décimal qui faudra mettre a 0 au lieu de 2

103dubled
103dubled
6 ans

@Zilyas: sa passe pas imgur.com/a/wyGv6

lut1ternet

@103dubled: rajoute un ' avant
puu.sh/xervN/88c6fb96e2.png

103dubled
103dubled
6 ans

J'ai posé toutes mes formules sa marche nickel mais j'ai quand même galéré, bon il me reste que deux truc qui m’embête c'est les #N/D dans les cases vides et je voudrais que quand le nombre commence par 404 sa met un X dans sachet et 504 sa met X dans colis

Cryos
Cryos
6 ans

@103dubled: par contre le problème des formules dans une base de données est que ça va alourdir ton fichier c est la seule chose un peu dommage ;) pour ton problème avec des if ou des reconnaissances de texte "#N/D"

103dubled
103dubled
6 ans

@Cryos: j'ai déjà essayé quelque "si" mais j'arrive pas a trouver la formule exacte

Cryos
Cryos
6 ans

@103dubled: if(Aquelque chose= "#N/D";"";formule qui donne ton N/D) à voir si c est = ou ==

103dubled
103dubled
6 ans

@Cryos: en gros sa me donnerais sa =RECHERCHEV(C2;Base.A2:B500;2;0)&SI(D2="#N/D";"";RECHERCHEV(C2;Base.A2:B500;2;0"")) mais sa me met erreur 522

Cryos
Cryos
6 ans

@103dubled: enlève la partie avant & ça te donne certainement ton erreur. Étonnant d ailleurs qu Excel accepte ta formule
Plus exactement ne teste pas d2 mais bien la formule recherche etc = #ND; "";recherche...)

103dubled
103dubled
6 ans

Les #N/D en questions + une aperçu de ou sa en est imgur.com/a/aKB39

Grota
Grota
6 ans

@103dubled: Tu peux pas rajouter une condition devant ta formule ? Du genre "si la case est vide, affiche une case vide, sinon fais la recherche". Ca donnerait un truc du genre =SI(A2="";"";RECHERCHEV.................).

103dubled
103dubled
6 ans

@Grota: c'est justement ce que je souhaiterais

Cette page est réservée aux ADULTES

Tu es sur le point d'accéder à un site web qui contient du matériel explicite (pornographie).

Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.


En accédant à ce site, tu acceptes nos conditions d'utilisation.