J'ai deux tableau : Les deux tableaux sont de formes identiques. Dans le premier tableau, j'ai des formules et des chiffres. Dans le second tableau, je n'ai que des chiffres (0 formule).
Ce que j'aimerais faire, c'est faire un copier-coller du tableau 1 dans le tableau 2 mais qui ne copie que les formules.
Jusque ici, lorsque je fais copier-> collage spécial -> formules , ça m'écrase également les chiffres de mon second tableaux en les replaçant par ceux du premier, alors que je ne voudrais copier que les formules et que le reste des chiffres ne bouge pas.
En annexe : le tableau 1 avec des chiffres et des formules et le tableaux 2 avec uniquement des chiffres.
Re : copier uniquement les formules sans écraser le reste
Bonjour Paulineee et le fil,
Une astuce déviante, si les structures des tableaux sont réellement identiques :
Dans ta Sheet2 et cellule B3, rentre la formule =Sheet1!$B$3, puis fais pareil pour les autres formules...
Pour un nouveau tableau, tu crées une copie du dernier via un clic-droit sur l'onglet. Ton nouveau tableau est prêt avec les formules...
Re : copier uniquement les formules sans écraser le reste
Bonjour Ralph,
ta solution marche bel et bien, seulement le "vrai" tableau que je dois fournir contient plus de 700 ligne, avec des formules toutes les 3 lignes environ...
Si d'ici midi je n'ai pas trouvé d'astuce je ferai tout à la main, mais jusque là je suis à la recherche d'une solution un peu plus "intelligente" (comprendre : un peu plus rapide et simple)
Re : copier uniquement les formules sans écraser le reste
Bonjour,
Une macro à mettre dans le code de Sheet1 :
Code:
Sub copieFormules()
Dim c As Range
For Each c In Selection.SpecialCells(xlCellTypeFormulas, 23)
Worksheets("Sheet2").Range(c.Address).FormulaLocal = c.FormulaLocal
Next
End Sub
Sélectionner la plage concernée et lancer la macro.
Re : copier uniquement les formules sans écraser le reste
Bonjour Mesdames,Messieurs
Une solution ( changer les références des cellules si besoin)
Code:
Sub Macro1()
Dim plageformule As Range, c As Range
Set plageformule = Feuil1.Range("B1:B20").SpecialCells(xlCellTypeFormulas, 23)
For Each c In plageformule
Feuil2.Range(c.Address) = c.Formula
Next c
End Sub