Copier plusieurs formule non contiguës entre deux classeurs

chalvron

XLDnaute Nouveau
Bonjour à tous,

J'ai cinq classeurs contenant des indicateurs. Ils sont tous structurés de la même façon (même nb lignes, même nb colonnes).

Le premier classeur contient des cellules avec des formules non contigues ; je voudrais copier en bloc ces cellules d'un classeur à l'autre SANS laison du type =[classeur1]!formulexxxx

Les techniques copier/collage spécial (formule) ne fonctionne pas.
La technique de la copie d'une formule via la barre de formule +ESC fonctionne mais en effectuant l'opération pour chaque cellule: cela est trop fastidieux (une centaine de copier/coller à faire....!)
Y a t il une autre technique directe existante?
Merci
 

Tibo

XLDnaute Barbatruc
Re : Copier plusieurs formule non contiguës entre deux classeurs

Bonsoir Chalvron,

Je ne comprends pas trop ton problème.

S'il s'agit de recopier des formules "simples" d'un classeur à un autre, un simple Copier/Coller devrait suffire.

Tu sélectionnes de A1 à .... (dernière cellule)

Copier

Puis dans le nouveau classeur, Coller

Question : Est-ce que tu colles tes formules dans les mêmes cellules (mêmes références de cellules) ?

Si problème persiste, reviens avec plus de détails, notamment un des fichiers concernés.

Le fichier à joindre : zippé de préférence, sans données confidentielles et taille < 48.8 ko

A te (re)lire

@+
 

skoobi

XLDnaute Barbatruc
Re : Copier plusieurs formule non contiguës entre deux classeurs

Bonsoir,
essaye en cliquant droit sur la "case" se trouvant tout en haut de la feuille à gauche (dans l'en-tête des lignes et des colonnes), tu fais copier (sélectionne toutes les cellules de la feuille) puis tu colles dans l'autre classeur.

Edit: salut Tibo, c'est bien ce qu'il me semblait aussi, je vois pas trop le problème....
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Copier plusieurs formule non contiguës entre deux classeurs

bonjour chalvron

voici une macro qui pourrait t'aider (a adapter pour le nom du classeur)

Code:
Sub test()
For Each cel In ActiveSheet.UsedRange
  If Left(cel.Formula, 1) = "=" Then
     Workbooks("Classeur2").Activate
     Sheets("Feuil1").Range(cel.Address).Formula = cel.Formula
  End If
Next cel
End Sub

ps: si tu le souhaites il est possible de l'adapter pour renseigner plusieurs fichiers
dans ce cas un peu plus de renseignements seraient necessaires

edit avais pas rafraichi

Salut Tibo
Salut Skoobi

moi j'ai compris que seules les formules doivent etre copiées (?!!)
 
Dernière édition:

chalvron

XLDnaute Nouveau
Re : Copier plusieurs formule non contiguës entre deux classeurs

RE- Bonsoir

Je joins à titre d'exemple deux fichiers 1 et 2.
Le fichier 1 dans l'onglet [synthèse] contient les formules+graphiques associés. Je voudrais recopier les cellules B2:F10 et cellules B15:F19 de l'onglet [synthèse] dans l'onglet [synthèse] du fichier 2 sans liaison avec le fichier1

J'espère que je suis plus clair

@ plus
Merci
 

Tibo

XLDnaute Barbatruc
Re : Copier plusieurs formule non contiguës entre deux classeurs

Bonsoir,

Avec les fichiers, c'est effectivement plus facile à comprendre.

Bon, effectivement, le simple copier/coller ne convient pas.

Une piste :

Après avoir fait un copier/coller classique

faire un Remplacer

[fichier 1.xls]

par rien du tout.

Ca supprime ainsi les références au fichier source.

Je ne sais pas s'il est possible d'éviter cette manip.

@+
 

chalvron

XLDnaute Nouveau
Re : Copier plusieurs formule non contiguës entre deux classeurs

J'ai essayé les conseils de skoobi et tibo. Cela ne marche pas.

Par contre, pour aller dans le sens de pierrejean, je pense qu'on peut faire le copier/coller du fichier 1 ->2.
Toutes les formules ainsi copiées dans le fichier 2 contiendront toutes l'expression [fichier 1.xls].
Y a t il une macro qui balayerait l'ensemble des cellules utilisées, qui détecterait la présence de l'expression [fichier 1.xls] et qui la supprimerait.

Rem: la présence des ' dans une formule du type ='juin!'B38 ne poserait apparemment pas de problèmes.
 

Tibo

XLDnaute Barbatruc
Re : Copier plusieurs formule non contiguës entre deux classeurs

Bonjour,

La fonction Remplacer (dans le menu Edition) permet de supprimer tout ou partie d'une chaine contenue dans les formules.

C'est ce que je te proposais hier soir.

J'avais fait l'essai sur tes fichiers et ça avait fonctionné.

Cette action doit se faire pour l'ensemble de la feuille et non pas cellule par cellule.

Reteste et reviens nous dire, le cas échéant, pourquoi ça marche pas.

Bonne journée

@+
 

pierrejean

XLDnaute Barbatruc
Re : Copier plusieurs formule non contiguës entre deux classeurs

bonjour chalvron
Salut Tibo
Salut skoobi

Voici la macro adaptée aux fichiers test
(a lancer a partir du fichier 1.xls)

Code:
Sub test()
For Each cel In ActiveSheet.UsedRange
  If Left(cel.Formula, 1) = "=" Then
     Workbooks("fichier 2.xls").Activate
     Sheets("synthése").Range(cel.Address).Formula = cel.Formula
  End If
Next cel
End Sub
 

chalvron

XLDnaute Nouveau
Re : Copier plusieurs formule non contiguës entre deux classeurs

Bonjour Pierrejean et Tibo,

J'ai testé vos deux solutions et elles marchent toutes les deux nickel !!!

En fait, pour la solution rechercher/remplacer il fallait bien sélectionner l'ensemble de la plage contenant les formules et lancer la commande rechercher [xxxxxxxx] et remplacer par ... rien

Merci :)

Problème résolu.
 

Statistiques des forums

Discussions
312 613
Messages
2 090 238
Membres
104 463
dernier inscrit
lbo