Cellule de références relatives --> réf absolues

Résolu/Fermé
Bouyax Messages postés 11 Date d'inscription mercredi 31 janvier 2018 Statut Membre Dernière intervention 26 mars 2018 - Modifié le 26 mars 2018 à 10:53
Bouyax Messages postés 11 Date d'inscription mercredi 31 janvier 2018 Statut Membre Dernière intervention 26 mars 2018 - 26 mars 2018 à 14:50
Bonjour,

A l'aide du logiciel SAP, je réalise un tableau en important des données. Je souhaite réaliser une mise en page spécifique qui ne fonctionne pas sur ce tableau puisque lorsque j'actualise les données la mise en page est écrasée. (Les feuilles de mise en forme de SAP ne fonctionne pas pour la mise en page que je désire)

J'ai donc créée une seconde feuille, dans laquelle j'ai repris chaque données des celulles de ma Feuille 1 avec un simple "=Feuill1!A1"

Le problème c'est que si j'actualise les données ou qu'une ligne s'ajoute, les celulles vont s'adapter en fonction de la feuille 1 et décaller les formules. Mon tableau dans la feuille 2 ne correspondra donc plus à mon tableau de la feuille 1.

Je souhaite donc transformer toute mes formules en référence absolues: "=Feuill1!A1"--> "=Feuill1!$A$1".

Le problème c'est que mon tableau fait 15 colonnes et 400 lignes, j'aimerais éviter de séléctionner chaque celulle une à une une et d'appuyer sur F4.

Merci d'avance.

PS: Après quelques recherches, je suis tombé sur une macro, qui en 2011 avait fonctionné pour un problème similaire, cependant elle ne veut pas fonctionner puisqu'il y a apparemment un problème dans le code:


Sub test1()

Dim c As Range
For Each c In Selection.SpecialCells(xlFormulas)
c.Formula = Application.ConvertFormula(c.Formula, xlA1, xlA1,
xlAbsolute)

Next c

End Sub

2 réponses

didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 96
26 mars 2018 à 11:57
Bonjour,
Le code fonctionne si on retire le saut de ligne :

Sub test1()

Dim c As Range
For Each c In Selection.SpecialCells(xlFormulas)
c.Formula = Application.ConvertFormula(c.Formula, xlA1, xlA1, xlAbsolute)

Next c

End Sub


Cordialement,
didibonf
0
didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 96
26 mars 2018 à 12:03
pour info il faut sélectionner toutes les cellules à modifier puis lancer la macro.
0
Bouyax Messages postés 11 Date d'inscription mercredi 31 janvier 2018 Statut Membre Dernière intervention 26 mars 2018
26 mars 2018 à 14:50
Au top ça marche, merci!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
26 mars 2018 à 12:00
Bonjour

Option Explicit
'-------------------------------------
Sub convertir()
Dim Cell As Range
Set Cell = Sheets(2).Range("A1:C3")
Cell.Formula = Application.ConvertFormula(Cell.Formula, xlA1, xlA1, xlAbsolute)
End Sub


0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
26 mars 2018 à 14:16
Excuse moi de t'avoir dérangé
0