Liens vers un onglet dont le titre contient au moins

Bonjour à tous,

Je cherche la commande qui permet à VBA de faire un lien vers une cellule d'un onglet dont le titre contient au moins un mot prédéfini, par exemple le mot COULEUR ou KM dans mon exemple.

Le but est de pouvoir lancer la macro quelque soit le type de véhicule ( camion, velo, moto ).

Je vous envoi le fichier Excel.

Est ce que quelqu'un aurai la gentillesse de m'aider sur cette petite question ?

En vous remerciant.

13exemple-vba.xlsx (10.41 Ko)

Salut Camille,

Je ne comprends pas très bien ton souhait ! Apparemment tu veux atteindre une feuille (COULEUR ou KM dans ton exemple) mais je n’ai pas compris lors de quel événement ?

Peux-tu nous dire un peu mieux ce que tu désires ? Par exemple : lorsque je clique sur les mots des cellules B1 ou C1, je voudrais que les feuilles commençant respectivement par COULEUR ou KM soient sélectionnées.

A te relire.

Oui effectivement je n'ai pas été très clair... :/

Voila ce que je dois faire.

Je dois calculer le résultat net d'une centaine d'entreprise en prenant en compte le budget et les taxes ( je simplifie) ( ici, TOTAL pour l'exemple).

Le fichier a toujours la même structure, à savoir un premier onglet "valo entreprise" , un deuxieme "budget entreprise" et un dernier " taxe entreprise"

donc j'ai ouvert le fichier "TOTAL" et enregistré une macro pour importer les données des feuilles 2 et 3 dans la première feuille (donnée en jaune fluo).

et je voudrais m'en servir pour les autres sociétés... par exemple.....ELF!

Le probleme est que lorsque je lance la macro sur le fichier ELF ( qui à lui aussi 3 onglet , "valo elf" , un deuxieme "budget elf" et un dernier " taxe elf") le code ne fonctionne pas car il cherche dans les onglets "budget total" et " taxe total"

DONC je voudrais que la macro ne s'occupe pas du nom de l’entreprise mais uniquement de la nature de l'onglet (budget ou taxe), come ça quelque soit l'entreprise, la macro fonctionnerai.....

J'ai été plus clair?

A SAVOIR que l'ordre des feuilles peut changer, c'est pour cela que je ne peux pas renvoyer vers le "numero de feuille" mais que vers un nom de feuille.

12exemple-vba2.xlsx (10.67 Ko)

Re bonjour,

Comme tu dis que tu as simplement enregistré une macro afin de l’utiliser sur une centaine de fichiers, je présume que tous ces fichiers ont exactement la même structure également en ce qui concerne le contenu des feuilles Budget et Taxe.

La macro mise en place sur le fichier ci-joint fonctionnerait donc quelle que soit l’entreprise.

Par contre je n’ai pas compris comment tu voulais utiliser cette macro sur tes 100 autres fichiers ? En copiant à chaque fois la macro dans le fichier traité ? Ca me semblerait extrêmement fastidieux, non ? Selon tes indications, on pourrait peut-être trouver une solution afin de A) soit traiter ces 100 fichiers en une seule fois (est-ce une opération que tu répètes souvent ?), B) soit au moins traiter individuellement ces 100 fichiers semi-automatiquement, par exemple B1) à partir d’un fichier de base contenant une macro et qui agirait sur l’un des 100 fichiers choisi par l’intermédiaire de la macro ou B2) à partir d’un fichier de base qui traiterait le fichier ouvert conjointement à l’écran, C) soit ???????. Des solutions il y en a des milliers

A toi d’en dire plus.

Merci énormément pour le temps passé à m'aider

Vous avez même écrit la macro

c'est exactement ce que je recherchais à faire !

Sinon effectivement je vais lancer la macro sur chaque fichier entreprise, pour dans un premier temps pouvoir contrôler à chaque fois l'exactitude des informations (sur certain rare cas, il pourrait avoir une structure différente...)

Je dois également faire en sorte que les onglets "budget" et "taxe" s'importent dans le fichier de l'entreprise.

Ces onglets à importer pour créer le fichier "Entreprise" se trouvent dans des fichiers placés dans des répertoires différents à chaque fois (selon la région du monde et le pays de l'entreprise) comportant une dizaine d'onglet. (pour le moment je le fais manuellement)

l’idéal serait bien sur qu'une puissante macro:

1/ cherche les onglets à importer pour creer les fichiesr "entreprise"

2/ utiliser la macro que vous venez de creer pour calculer les résultats

3/ une troisième qui exporte les resultats de chaque entreprise vers une feuille "global"

pour la première étape, la difficulté est de définir l'emplacement de chaque fichier source, sachant que le titre peut changé d'un exercice à l'autre ( ex: en 2013, "budgetTOTAL2013" puis en 2014, "BudgetTOTAL2014")

Pour l'instant je vois 2 solutions:

la première : indiquer le fichier source à chaque fois pour etre sûr de ien faire les chose (pénible...)

la deuxième : définir un classement à respecter d'une année sur l'autre (region/pays/holding) et écrire une macro qui reconnaisse le fichier uniquement grâce à un mot clés et non un titre complet (comme ce que vous avez fait).

Je vais dans un premier essayer de la faire moi même

si j'arrive je la posterai sur ce forum


Par contre est-il possible de ne pas renseigner les données en dur? (afin que l'on puisse "vérifier" la source en double cliquant sur la valeur?

Re,

Disons en préambule qu’avec Excel, il n’y a pratiquement rien d’impossible, on peut donc envisager une multitude de solutions et probablement qu’elles seront réalisables, le seul problème réel étant de se comprendre en ce qui concerne le but à atteindre.

Si l’on veut traiter 36 problèmes à la fois, le risque que l’on mélange tout est énorme. Il vaudrait donc mieux prendre un problème après l’autre et avancer par étape.

Si tu désires avancer chez toi, je te propose que tu reviennes avec tes problèmes les uns après les autres, mais pas tous à la fois comme dans ton dernier message.

Si par contre tu désires un coup-de-main, je commencerais plutôt par le problème du transfert des données des différents fichiers source au fichier cible à créer. En admettant dans un premier temps que les fichiers source se trouvent dans le même dossier que le fichier de base contenant à macro à créer, il faudrait savoir comment tu désires nommer le nouveau fichier cible et comment tu désires y inscrire les données récoltées ? Et quelles sont les données que tu veux contrôler avant l’exportation ? Je n’ai effectivement pas très bien compris ce que tu voulais dire par « ne pas renseigner les données en dur » ni à quelle étape tu voudrais pouvoir

« double cliquer sur la valeur ». Si tu es intéressée à obtenir de l’aide, peux-tu fournir deux fichiers source comme exemple (jusque avec quelques données chacun, mais avec tous les onglets possibles) de manière à ce que je puisse comprendre ce que tu désires contrôler ?

Encore une chose : laisse-toi le temps de bien réfléchir avant de poster ton texte ; les messages « à rallonge » sont toujours assez compliqués à lire. Ou alors clique sur « Editer » et corrige ton texte, plutôt que de simplement ajouter une phrase de plus, en dehors de son contexte.

Amicalement.

Yvouille, merci pour ton aide.

Afin que cela puisse servir à d'autres je mets un morceaux de la Macro, tu comprendra ce que je voulais dire

With ActiveSheet

If Left(sh.Name, 4) = "CORE" Then

'Importation des données de l'onglet CORE dans l'onglet VALO

'1. Gross to

.Cells(17, 6).FormulaR1C1 = "='" & sh.Name & "'!R[-9]C[-3]"

ElseIf Left(sh.Name, 4) = "REAL" Then

'Importation des données de l'onglet REAL dans l'onglet VALO

'1. Gross TO

.Cells(17, 7).FormulaR1C1 = "='" & sh.Name & "'!R[-4]C[+3]"

End If

End With

Next sh

A bientot

Rechercher des sujets similaires à "liens onglet titre contient"