Arreter la fonction remplacer

oly22

XLDnaute Nouveau
Bonjour

j'utilise excel 2003 sp2 et je suis assez souvent confronté à un problème un peu particulier...

Je travaille sur de gros fichier servant à attaquer une base de donnée (CARAT) et qui fonctionne avec des liens dynamiques

chaque fichier comporte en générale plusieurs dizaines de feuille et pas mal de formule, en moyenne je dirai entre 80 et 100 000 formules par fichier

Afin de mettre à jour les formules, j'utilise pas mal la fonction remplacer pour modifier dans le libellé des formules des informations (zone de reference, periode ...)

Bref, il m'arrive de me tromper dans la saisie de l'information de remplacement, et je n'ai alors pas d'autres solutions que d'appuyer sur la touche "Echap" du clavier, jusqu'à ce que toutes les formules aient été passées en revue par excel :(

Ma question est donc : existe-t-il un moyen (autre que de poser un objet sur la touche echap style agrapheuse :D) pour stopper la fonction remplacer ?

Merci d'avance
 

mjo

XLDnaute Impliqué
Re : Arreter la fonction remplacer

Salut,

Peut-être une réponse à côté de la question, mais qui vaut quand même la peine d'y refléchir.

Deux pistes :

Nommer les formules (menu Insertion Nom Définir)
Il suffit de modifier les coordonnées sous la formule nommée, donc à un seul endroit, pour que toutes les formules du même type s'adaptent automatiquement.
De plus le fichier s'en trouvera allégé.

Nommer les variables des formules, ce qui est encore plus pratique, car lorsque les formules sont longues il n'est pas aisé de les modifier sous le menu Insertion, et ensuite employer ces noms dans les formules nommées.
En quelque sorte des noms en cascade.

mjo
 

belgarath007

XLDnaute Nouveau
Re : Arreter la fonction remplacer

Bonjour,

je me permets de ressortir ce message des tréfonds du forum car j'ai exactement le même problème.
Pas compris le fait de nommer les formules, un exemple serait bienvenu ?

Sinon la technique de l'agrafeuse sur la touche échap fonctionne assez bien, mais oblige à aller boire un (grand) café pendant ce temps...

Trêve de plaisanteries, est-ce qu'une âme charitable aurait une solution miracle ?

Merci pour votre aide ! :)
 

Misange

XLDnaute Barbatruc
Re : Arreter la fonction remplacer

Bonjour

Imagine que tu aies en A2 de ton classeur une formule disant (en références relatives)
=A1+'[classeur février.xls]donnees'!A1
et que tu veuilles changer dans ton classeur classeur février par classeur mars.
Tu peux le faire par rechercher remplacer
mais tu peux aussi placer le curseur en A2
insertion Nom/définir (avec excel 97-2003) ou onglet formules/définir un nom avec 2007 et +
dans la zone de nom tu tapes
= ma_formule
et en bas tu tapes
=A1+'[classeur février.xls]donnees'!A1

dans ta feuille, quand tu une cellule tu tapes
=ma_formule
excel fera la somme de la cellule située juste à gauche de la cellule active (D3 si tu es en E3) et additionnera la même référence du classeur février.


Au lieu de changer février par mars, il te suffit d'aller dans le gestionnaire de noms et de changer février par mars et le tour est joué.
L'exemple est ici très simple mais tu peux le faire avec des formules très complexes.

Au lieu de rentrer dans tes formules pour calculer le TTC à partir du HT situé en A1,
tu définis un nom TVA, tu lui affectes une constante : 0.196
dans ta feuille tu mets
= A1*(1+tva)
C'est plus facile à lire
et surtout le jour ou la TVA change, il te suffit de modifier la valeur dans le nom défini.
 

belgarath007

XLDnaute Nouveau
Re : Arreter la fonction remplacer

La vaaache !!!! C'est génial comme truc !!! :D :D

Ça va bien m'aider, merci beaucoup !!
C'est un peu complexe à mettre en place au début mais ça va vachement plus vite qu'avec la fonction remplacer, sans compter le minimum de correction manuelle que ça demande en ce qui concerne la mise à jour des liens externes dès que quelqu'un déplace un fichier ou renomme un dossier par erreur.
Et si ça peut alléger mes fichiers, je suis preneur à 100% !

Un grand grand merci :) :)
 

job75

XLDnaute Barbatruc
Re : Arreter la fonction remplacer

Bonjour belgarath007, salut Misange,

Je suppose que s'il faut mettre une "agrafeuse" sur la touche <ECHAP> c'est à cause des invites pour rechercher un fichier introuvable.

Par exemple avec cette macro où l'on veut modifier "Classeur2" en "Classeur3" (qui n'existe pas) dans les formules :

Code:
Sub test()
[A1:B50000].Replace "Classeur2", "Classeur3", xlPart
End Sub
Alors pour éviter les multiples invites :

Code:
Sub test()
Application.DisplayAlerts = False
[A1:B50000].Replace "Classeur2", "Classeur3", xlPart
End Sub
A+
 

belgarath007

XLDnaute Nouveau
Re : Arreter la fonction remplacer

Je suppose que s'il faut mettre une "agrafeuse" sur la touche <ECHAP> c'est à cause des invites pour rechercher un fichier introuvable.
C'est exactement ça!

Ta solution est aussi géniale !!
Merci job75 :)

Moi qui n'y connait rien en VBA, ça va m'être utile dans mes classeurs déjà créés sans avoir peur de me planter! ^^
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Arreter la fonction remplacer

Bonjour belgarath007,

Par contre je viens de tester et histoire de préciser les choses, la macro ne fonctionne pas dans les formules matricielles...

Je viens de tester la macro avec cette formule matricielle :

Code:
=SOMME(SI([Classeur2.xls]Feuil1!$A$1:$A$10<100;[Classeur2.xls]Feuil1!$A$1:$A$10))
Le remplacement de Classeur2 se fait bien et la formule reste matricielle :confused:

A+
 

Statistiques des forums

Discussions
312 223
Messages
2 086 407
Membres
103 201
dernier inscrit
centrale vet