Remplacer 2 termes distincts en même temps

Fermé
Jean-Marc - 4 mars 2011 à 17:42
Raymond PENTIER Messages postés 58836 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 janvier 2025 - 8 mars 2011 à 05:53
Bonjour,

J'ai un petit soucis avec excel.

J'ai un tableau synthèse qui résume les volumes de production du mois écoulé. Il va chercher ses données dans des fichiers de production quotidien.

Mon but est de pouvoir changer simplement le mois dans l'adresse des fichiers en utilisant la fonction remplacer sur l'ensemble du document.

Ici un exemple de lien:

=SI(ESTNUM('\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Jan 11\[RP_01-01-11.xls]Résumé'!$K$27);'\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Jan 11\[RP_01-01-11.xls]Résumé'!$K$27;0)

Il y a 8 produits différents qui sont tous sur le même fichier quotidien, avec simplement la cellule à copier qui change, et un fichier par jour.

Pour le lendemain par exemple:

=SI(ESTNUM('\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Jan 11\[RP_02-01-11.xls]Résumé'!$K$27);'\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Jan 11\[RP_02-01-11.xls]Résumé'!$K$27;0)

Je pensais que je pouvais simplement sélectionner le fichier au complet et avec la fonction rechercher/remplacer, remplacer "Jan 11" par "Fev 11" et "01-11" par "02-11", ce qui ferait pointer les liens vers les fichiers correspondants du mois suivant.

=SI(ESTNUM('\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Fev 11\[RP_01-02-11.xls]Résumé'!$K$27);'\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Fev 11\[RP_01-02-11.xls]Résumé'!$K$27;0)

Malheureusement je ne sais pas s'il est possible de faire 2 remplacements de 2 terme distincts en même temps, car excel recherche le fichier après chaque modification, et si je change en premier "Jan 11" par "Fev 11", il cherche le fichier ...\Fev 11\[RP_01-01-11...qui bien sur n'existe pas, car il comporte la date 01-02-11.

Il ouvre une fenêtre me demandant de chercher le fichier manuellement et arrête les modifications.

Donc si quelqu'un pourrait m'expliquer comment effectuer 2 remplacements en même temps, ou bien désactiver la vérification automatique du lien, ou bien sur tout autre manière pertinente, je lui en serais très reconnaissant.

Merci d'avance

A voir également:

6 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 714
4 mars 2011 à 17:53
bonjour

Ne peux-tu pas remplacer :
Jan 11\[RP_01-01-11
par
Fev 11\[RP_01-02-11
?
0
Comme je l'ai écrit, j'ai un fichier qui regroupe l'ensemble de la production du mois, donc en faisant comme cela j'aurais 30 à 31 manipulations à faire pour mettre le fichier synthèse à jour.

Je cherche une méthode pour le faire en une seule fois.

Jan 11\[RP_01-01-11 = Fev 11\[RP_01-02-11
Jan 11\[RP_02-01-11 = Fev 11\[RP_02-02-11
Jan 11\[RP_03-01-11 = Fev 11\[RP_03-02-11
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
4 mars 2011 à 21:30
Bonsoir,

2 possibilités :
- avec indirect(), seulement il faut que les classeurs soient ouverts et je ne pense pas que ça t'interesse.
- en VBA en ajoutant une fonction ADO.
voir par exemple la fonction ADOGetValue.bas ici
Les chemins et noms des fichiers sont passés sous forme de chaines que tu peux construire par formule.

eric
0
Merci Eric mais je suis un gros débutant et je ne sais pas comment faire du VBA..snif snif
0
C'est peut être une niaiserie, mais est ce qu'il y aurait un moyen que je mette les valeur voulue dans 2 cellules avec un lien dans l'url ?

ex

A1 = Fev 11
A2 = 02-11

=SI(ESTNUM('\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Valeur de A1\[RP_01-Valeur de A2.xls]Résumé'!$K$27);'\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\Valeur de A1\[RP_01-Valeur de A2.xls]Résumé'!$K$27;0)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
7 mars 2011 à 19:27
Bonjour,

Je confirme, c'est bien une niaiserie... ;-)
Ce n'est pas une chaine, tu ne peux pas le traiter comme ça.

Sur le lien que je t'ai donné télécharge GetValueWithADO.txt et renomme-le en GetValueWithADO.bas
Dans Excel tape Alt+F11 pour aller dans l'éditeur VBE.
Ctrl+M pour importer le fichier .bas. Ca y est, ta fonction est prête.

En A1 : Fev 11
en B1 : 01/02/11
en C1 : =GetValueWithADO("\\Fh-srv\public_fh\Rapports\RÉSUMÉ PROD\2011\" & A1 & "\RP_" & TEXTE(B1;"jj-mm-aa") & ".xls";"Résumé";$K$27)
tu devrais avoir ta valeur (si je ne me suis pas planté en refabriquant ton adresse...)

Regarde si ça marche sur ce fichier : ADO.xls (niveau sécurité des macros sur moyen, et accepter les macros à l'ouverture)

Si tu y arrives on pourra améliorer pour fabriquer 2011\FEV 11 à partir de la date.

Et tu peux aussi aller lire sur l'excellent site de Jacques Boisgontier sa page sur l'ADO : http://boisgontierjacques.free.fr/pages_site/ado.htm

eric
0
Raymond PENTIER Messages postés 58836 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 janvier 2025 17 275
8 mars 2011 à 05:53
Bonjour à tous.

Comme je suis pour la facilité, et comme je n'utilise pas les macros, je me serais contenté de modifier très légèrement le nom des fichiers en mettant RP_02-jan-11.xls à la place de RP_02-01-11.xls et il n'y aurait plus de problème ...

Cordialement.
0