Chercher texte selon critères

Bonjour,

"je vois pas du tout ce qui colle pas !"

C'est pourtant simple, dans vos code, vous avez mis des fonctions personnalisées pour extraire les valeurs numériques des colonnes "Chapitre", "Article" et "Fonction", ce qui se traduit par une très grande consommation de ressources puisque ces fonctions sont calculées en permanence (sur 3 colonnes et près d'un millier de lignes) et ces calculs se font à chaque lecture d'une ligne du TCD soit 1300 lignes, pas étonnant que ça n'avance pas.

J'ai d'abord modifié votre fonction pour quelle soit plus rapide, ensuite je l'appelle au début de la macro et une fois que toutes les cellules sont remplies, ensuite on remplace les formules par les valeurs obtenues, pour ne plus qu'elle soient relancées à chaque fois.

Cdlt

En plus de ma réponse précédente et maintenant que je vois le fichier, je peux vous proposer une solution encore plus rapide. Testez-là et dites-moi si cela vous convient.

Cdlt

Salut JD,
Salut Arturo,

indépendamment du fait que je n'arrive pas à trier [TAB_O] via VBA (même avec l'aide de l'enregistreur de macro), voici une première approche, beaucoup trop lente à mon goût.
Je retravaille ça en soirée...

Un double-clic sur la feuille 'TAB_O (2)' démarre la macro.

4jb.zip (606.13 Ko)


A+

Bonjour Arturo,

Bonjour Curulis,

Tout d'abord, je vous remercie pour votre aide.

@Arturo : ce qui me pose problème dans la proposition c'est que la fonction personnalisée ne prend plus en compte les "0" devant les chiffres.

Par exemple : Ch. - 011 Charges à caractère général ; la formule affiche "11" et non "011".

Ceci est important pour moi car j'utilise ces données dans une autre feuille pour d'autres calculs.

@Curulis : chez moi l'exécution va assez vite (environ 5 secondes). Par contre, la macro ne tient pas compte des Articles associés aux Fonctions ?

Exemple : dans la BDD j'ajoute des commentaires en Art 6042. sur les Fonctions 6 et 64 => sur le TCD, les commentaires s'affichent partout sur les fonctions 6 et 64.

Cdlt

Euh... déso... même en relisant le premier post, je n'ai sans doute pas capté ta véritable demande !?
L'âge, peut-être...
Tu veux bien re-préciser car ton dernier post ne m'éclaire pas plus...

A+

No soucis,

Dans la BDD [TAB_O] chaque ligne est composée de Chapitre, Article et Fonction avec en face des commentaires qui permettent en fait d'expliquer les variations entre les années, pourquoi je mets telle ou telle somme dans le budget et j'en passe...

Ceci me permet de synthétiser toutes ces données dans un TCD. Sauf que le TCD ne me permet pas d'afficher les commentaires comme je veux (à droite du TCD).

Je veux donc afficher une ligne supplémentaire à droite qui affiche ces commentaires.

Par exemple, dans le TCD :

Art. 6042 ....

----Fon. 6 (ici afficher le commentaire) = se rapportant à ma BDD de la ligne Art.6042 / Fon.6

----Fon. 64 (ici afficher le commentaire) = se rapportant à ma BDD de la ligne Art.6042 / Fon.64

Etc, pour chaque article et fonction.

J'espère que tu y vois plus clair ?

Ps : c'est possible d'afficher les commentaires directement dans le TCD mais en dessous de chaque fonction ou soit en ajoutant une étiquette de colonne... Mais pour une présentation synthétique c'est très moche, ça duplique les lignes et les données... Ce que je ne veux pas.

Merci

Hello,

Par contre on fait quoi pour les doublons dans ta BDD ?

Exemple :

Art. - 6453 Cotisations aux caisses de retraites

Fon. - 812 Collecte et traitement ordures ménagères

On a 2 lignes, donc 2 commentaires différents potentiellement dans chaque ligne ... kékonfait ???

Hello,

Bien vu Rag,

Alors il faudrait tenir compte de 3 critères : Budget / Article / Fonction

En faisant le fichier j'ai mis qu'un budget dans la 1ére colonne. Budget "B". Oups !

En réalité j'en ai 3 : A, B et C (je suis obligé de les renommer ainsi par soucis de confidentialité...)

Ainsi, il n'y a plus de doublon

3exemple.zip (571.46 Ko)

Hello,

Une proposition à ma sauce ...

Travailler avec le résultat d'un tcd c'est une horreur ...

Tu as un tableau avec au détail avec commentaires + un tableau consolidé. Le tout se rafraichit avec le bouton de la feuille synthese.

Bonjour,

"@Arturo : ce qui me pose problème dans la proposition c'est que la fonction personnalisée ne prend plus en compte les "0" devant les chiffres."

Voilà qui est corrigé, j'en ai profité pour remanier le code, j'obtiens un temps d'exécution de 2 secondes.

Cdlt

Re à tous,

Merci de vous pencher sur mon problème.

@Rag : la présentation du TCD est alors inutile car j'ai l'impression que le tableau de synthèse correspond à ma BDD ?

@Arturo : j'ai essayé d'ajouter des commentaires à ma BDD mais ils ne s'affichent pas malgré le refresh.

J'ai peut-être trouvé une alternative, il me faudrait juste automatiser la réécriture des Articles et Fonctions du TCD sur 2 colonnes à droite du TCD. Ensuite avec une formule INDEX EQUIV on peut aller rechercher les commentaires. Je vous laisse regarder mon exemple, je suis sur que ça va vous parler

Avez-vous une idée pour automatiser cette réécriture ?

2exemple.zip (572.73 Ko)

Bonjour,

Effectivement il manque quelques commentaires. Dans votre proposition il me semble que cefrtains résultats ne tombent pas sur les bonnes lignes.

Cdlt

C'est parfait ! Encore un petit truc à régler : dans mon fichier quand la macro arrive à la fin de l'exécution j'ai un message qui me demande si je veux "supprimer la ligne entière". Si je mets non, la colonne AL est présente avec l'ensemble des données (concaténer) et si je mets oui j'ai toute ma BDD qui disparait, oups...

Cdlt,

Bonjour,

"si je veux "supprimer la ligne entière" Vous voulez plutôt dire la colonne, non !?

Si tout s'efface quand vous répondez "OUI" , alors je suppose que vous avez une ligne avec des cellules fusionnées (généralement la ligne d'entête) qui couvre l'ensemble des colonnes de A à AL, dans ce cas, en voulant n'effacer qu'une seule colonne, c'est l'ensemble des colonnes qui sera pris en compte en considération.

Remède: Supprimez les cellules fusionnées.

Quant au message vous demandant de confirmer la suppression, et si vous l'avez toujours malgré la rectification préconisée ci-dessus, il, suffit d'ajouter la ligne suivante:

    Application.DisplayAlerts = False

juste en dessous de celle-ci:

    Application.ScreenUpdating = False

Ce qui donne :

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

Cdlt

C'est super, merci beaucoup pour tout ton travailainsi que pour les conseils que tu as pu me donner, et la simplification de ma macro pour afficher juste les valeurs numériques...

Je remercie aussi tous les autres qui se sont penchés sur ma question !

Cdlt & à bientôt

Rechercher des sujets similaires à "chercher texte criteres"