Microsoft 365 Comment retrouver un mot clé dans libellé et identifier par un code

Inidyou

XLDnaute Nouveau
Bonjour

Je suis comptable et cherche à automatiser quelque peu la saisie de la banque.
J'ai X comptes bancaire (les feuilles AIX ASN etc..) et X lignes (j'ai enlevé les montants qui sont pas utile ici).

Je souhaiterai mettre en col1 dans chaque feuille un code correspondant à l'opération. (dans onglet code)

Chaque fois qu'un mot clé apparait (en MAJ ou minuscule) dans un libellé, il faudrait mettre le code correspondant dans la colonne vide Code

Donc pour le premier mot "DYL" il s'agit de checker partout ce mot dans toutes les colonnes C (libellé) et s'il est détecté alors placer le code 40100193 en Col A
donc en A2 pour "AIX". Etc... et faire pareil pour tous les autres mots clés.
Faudrait que la macro soit assez souple car le nombre de lignes peut varier et le nombre d'onglets aussi, tout comme les mots clés

Petite demande spéciale, est il possible de détecter 2 mots clés, par exemple GROUPE et 2021- dans ces libellé ?
cela me permettrait d'affiner mon codage..
Les onglets concerné sont en orange..

Bon courage à vous. Je ne vous cacherai pas que si ca marche cela me fera gagner énormément de temps (50 onglets, 4 jours de boulot)
J'ai essayé de me faire une macro avec CTRL-F, réf relatives mais je galère car je ne connais pas les boucles ni comment on saute d'un onglet à l'autre..

MERCIIII
 

Pièces jointes

  • BQ3006test.xlsx
    153.9 KB · Affichages: 18

Dudu2

XLDnaute Barbatruc
Bonjour,
J'ai un peu anticipé les réponses.
Ce n'est pas forcément plus simple que la 1ère Macro car il faut tenir compte du fait qu'on peut revenir sur un traitement déjà partiellement ou totalement fait (Ex. Insérer les lignes 512 plusieurs fois de suite avec ou sans modifications manuelles intermédiaires suivies d'affectations des codes).
- La 1ère Macro a été modifiée pour ne pas tenir compte des lignes 512.
- Le dernier titre des colonnes en ligne 1 détermine le nombre de colonnes à prendre en compte.
- Les filtres sont ajoutés sur les colonnes par le programme.
- Le formatage de cellules Date, Débit, Crédit est fait par le programme.
- Les bordures des cellules sont faites par le programme et ajustée au strict résultat (j'aime pas trop les grilles mises par anticipation sur les cellules vides ou les lignes vides de tableaux structurés).
- Pour info j'ai utilisé une table mémoires des cellules plutôt que les cellules elles-mêmes pour aller (10 fois ?) plus vite.
 

Pièces jointes

  • BQ3006test (5).xlsm
    65.7 KB · Affichages: 2
Dernière édition:

Inidyou

XLDnaute Nouveau
Hello
Pour cette histoire de banque en fait on tri un peu a notre sauce les lignes pour travailler sur le libellé qui est beaucoup trop long et qui en plus a des saut de lignes.

On le coupe en 2 car on a droit qu'à 35 caract maxi
1ere colonne pour le type d'opération (VIREMENT EMIS/VIREMENT EN VOTRE FAVEUR/PRELEVEMENT/etc...) et là un gauche(cell;24) sur ce libellé suffit. ca sera en Ref de ligne
Pour le reste on essaye d'avoir une info intéressante, num facture, nom fourn, et là on navigue entre stxt ou droite, surtout pour les virement émis. ca sera notre vrai libellé

Mais là tu ne vois pas ces colonnes en plus.. tu peux peut être nous rajouter 2 colonnes de formules 3 cases à droite du libellé, (après les Débit et Crédit). c-a-d sur ColF un petit gauche(C:C;24) et en ColG un petit stxt(C:C;25;35) qu'on changera au besoin.

Cette tambouille fait qu'avant de lancer les macro les lignes sont plus trop dans l'ordre des dates car on a trié par type d'opération et fournisseur et appliqué plusieurs formules différentes pour avoir un libellé pas trop débile..

Une fois qu'on a rajouté les 5120000 on doit remettre tout ca en place. Mais d'abord en triant sur libellé (col C) puis par date croissante (obligation pour notre journal).

Bref que tu nous rajoute ces 2 colonnes de formules ou pas de toute facon on va mettre le boxon dans les dates et une macro pourrait nous remettre ca en ordre partout automatiquement.

J'aurai au total 8 colonnes pour l'opération 512
CODE - DATE - LIBBASE - D - C - TYPE(que tu peux eventuellement nous mettre en formule) - LIBFINAL (idem) - JOURNAL

Ce que tu dis au début est parfaitement bon, hormis qu'on se démerdera pour qu'il y ait tjs un n° compte.

"Pour toutes les feuilles (sauf la 1ère évidemment) et pour chaque ligne, je la double et pour la ligne doublée juste en dessous de la ligne originale je remplace le n° de compte, qu'il soit présent ou absent, par 51200000 et inverse au Débit ou au Crédit le montant de la ligne originale"

Les 512 on été placé juste en dessous pour chaque ligne donc c'est bon, non ? OUI c'est bien comme

le tri sur les dates croissantes est la 1ère opération à faire avant de doubler les lignes sinon ça devient plus compliqué. Surtout s'il peut y avoir plusieurs opérations pour une même date, auquel cas y -a-t'il un critère secondaire de tri comme le n° de compte croissant -
OUI faire les dates en premier mais apres le 2e critère c'est le libellé (col C) pour pas mélanger des torchons et des serviettes qui se trouvent le même jour, ainsi le 5120000 va être directement en dessous de la ligne du compte avec même libellé.. et l'ecriture D- C est équilibrée.

Ou je parle des colonnes des feuilles de type "AMI"
J'ai mis 2 AMI, un de base et un fini tel qu'il doit se présenter à la fin.

Merci +++
 

Pièces jointes

  • BQ3006test3.xlsm
    29.4 KB · Affichages: 4

Dudu2

XLDnaute Barbatruc
Ok, j'espère que j'ai tout intégré comme tu le souhaites.
Il est impératif que tous les titres de colonnes soient présent dans l' "AMI" initial.
C'est ce qui détermine le nombre de colonnes prises en compte dans le traitement. Notamment le tri.
J'ai quand même garanti un minimum de 8 colonnes puisque ces 8 colonnes sont connues et utilisées par le programme.
Et s'il te vient à l'idée d'en rajouter, en gardant ce principe, le code les prendra en compte.

Si tu fais des modifs entre 2 traitements d'insertion des lignes de comptes 512, le programme saura repartir du tableau incluant ces lignes ("AMI" final) en prenant en compte les modifs faites dans les lignes de comptes non 512 (évidemment).

Le quadrillage (bordures des cellules) de l'"AMI" initial n'a aucune importante et est ignoré à l'exception des bordures de la ligne titre qui restent telles qu'initialement définies.
Le quadrillage (bordures des cellules) de l'"AMI" final est géré par le programme et témoigne des données traitées.

Je n'ai pas ajouté de contrôle de présence de n° de compte dans ce traitement mais si nécessaire je peux le faire.
 

Pièces jointes

  • BQ3006test (6).xlsm
    59.5 KB · Affichages: 8
Dernière édition:

Discussions similaires

Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972