Copier un ensemble de formules sans les modifier

overhead

XLDnaute Nouveau
Bonjour à tous,

Je cherche a copier des cellules qui contiennent des formules complexes mais quand je les copie dans un nouveau tableau, la formule est modifiée et le nom du précédent fichier est ajouté... Savez vous comment faire pour qu'excel ne touche pas a mes formules ?

Merci beaucoup !

PS : si c'est aussi possible de copier en gardant les formules et la mise en page, ce serait top !

Merci beaucoup
 

vgendron

XLDnaute Barbatruc
Re : Copier un ensemble de formules sans les modifier

Bonjour
sans ton fichier en exemple. difficile à dire..
à savoir. quand tu copies une formule d'une cellule à l'autre, Excel adapte automatiquemnt les références de cette formule (sauf si elles sont "verrouillées" avec des $
sinon. il faut copier la formule initiale SANS le signe = puis coller dans la nouvelle cellule AVEC un signe =
 

overhead

XLDnaute Nouveau
Re : Copier un ensemble de formules sans les modifier

Je viens de tester avec des $ comme ceci : =NB(1/FREQUENCE(SI('Vue pour Export Actions Encours'!AV$2:AV$8200="RETRAIT 1H";EQUIV('Vue pour Export Actions Encours'!A$2:A$8200;'Vue pour Export Actions Encours'!A$2:A$8200;0));LIGNE(INDIRECT("1:"&LIGNES('Vue pour Export Actions Encours'!A$2:A$8200)))))

Le problème c'est que le fichier fait plusieurs milliers de lignes, plusieurs dizaines de colonnes et tout ou presque est confidentiel :/
 

overhead

XLDnaute Nouveau
Re : Copier un ensemble de formules sans les modifier

je vais décrire a quoi ressemble le tableau : une feuille avec plein de données. Sur une autre feuille, j'ai rassemblé l'ensemble des formules. Le but serait qu'a chaque nouveau tableau que je reçois, je puisse copier la feuille contenant les formules pour que les formules s'appliquent au tableau de données.

Je reprends mon exemple de formule type présent dans ma feuille spéciale formule :

=NB(1/FREQUENCE(SI('Vue pour Export Actions Encours'!AV$2:AV$8200="RETRAIT 1H";EQUIV('Vue pour Export Actions Encours'!A$2:A$8200;'Vue pour Export Actions Encours'!A$2:A$8200;0));LIGNE(INDIRECT("1:"&LIGNES ('Vue pour Export Actions Encours'!A$2:A$8200)))))

Je précise que les feuilles ont toujours le meme nom, du coup un simple copié collé non modifié devrait marcher.

C'est le truc le plus simple du monde et excel fait galérer :(

Si ca ne marche pas, je travaille sur excel depuis 2 jours pour rien du tout, je ne pourrais pas copier des dizaines de formules (qui mettent au moins 1 min a s’exécuter) chaque jour !!

J'espère que vous avez une solution, merci en tout cas
 

vgendron

XLDnaute Barbatruc
Re : Copier un ensemble de formules sans les modifier

euh..
puisque tes formules sont toujours les memes. que les tableaux sont toujours les memes et que les noms de feuilles aussi..
plutot que de copier coller les formules dans de nouveaux tableaux.. pourquoi ne pas juste remplacer les anciennes données par de nouvelles???

après. si tu souhaites garder les anciennes données. il est toujours possible de faire une sauvegarde avant de les remplacer...??.???

Je précise que les feuilles ont toujours le meme nom

j'en conclue que tu as plusieurs classeurs avec les memes feuilles?


en fait. c'est pas très clair

pour le fichier exemple.. juste quelques lignes suffisent
tu peux peut etre enregistrer ton fichier sous un nom bidon: "classeurTest.xls"
ne garder que quelques lignes, dans lesquelles tu mets des data bidons..
 

tototiti2008

XLDnaute Barbatruc
Re : Copier un ensemble de formules sans les modifier

Bonjour à tous,

remplace toutes tes plages de la formule par une fonction INDIRECT
remplace
Code:
'Vue pour Export Actions Encours'!AV$2:AV$8200
par
Code:
INDIRECT("'Vue pour Export Actions Encours'!AV$2:AV$8200")
ça devrait empêcher l'évolution

je vais décrire a quoi ressemble le tableau : une feuille avec plein de données
sans blague ?
 

D.D.

XLDnaute Impliqué
Hello.
Je déterre ce vieux sujet parce que toutes les réponses que j'ai pu lire ne me convenait pas (même en Anglais).
Je voulais:
o copier normalement ma sélection
o amener mon curseur sur la destination
o cliquer une icône "copie formule sans modif" qui allait me recopier mes formules sans les modifier et, tant que l'on y est, me recopier les mises en forme des cellules sources (surtout utile pour les formats de chiffres).

Les histoires avec des modif du "=" ou via notepad sont pas terribles car nécessite pas mal de manipulation.

Bref, ci-dessous les lignes de VBA qui m'ont résolue tout ca :

Sub Colle_Formules_Sans_Modif()
Selection.PasteSpecial Paste:=xlPasteFormats
ActiveSheet.Paste Link:=True
For Each Cell In Selection
Cell.Formula = Range(Right(Cell.Formula, Len(Cell.Formula) - 1)).Formula
Next
End Sub

En fait le colle d'abord les formats, puis colle "par-dessus" les adresses des cellules d'origine.
Une boucle sur la nouvelle sélection qui vient de se faire récupère ses adresses et enlève le "=" devant, ce qui me donne l'adresse d'origine digérable pour un "Range" qui me récupère ainsi la formule de la cellule d'origine pour la recopier dans la cellule de destination.
Ouf.

Il ne me reste plus qu'à mettre dans le ruban une icône pointant vers cette macro (de mon classeur du XLStart).

Si ca peut servir à quelqu'un....

Enjoy

DD
 

RachidAifqui

XLDnaute Nouveau
Il y'a plus simple que ça
tu copies la plage que tu veux puis tu colles les formules puis tu sélectionne tout ton tableau là où tu as collé les formules puis ctrl+H et tu remplis dans la case recherche : [lenomdetafeuilleexcel] et dans remplacer tu mets rien et tu cliques sur remplacer tout.
voilà tu as tes formules non modifiées.
 

Discussions similaires

Réponses
2
Affichages
553