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

Résolu
Bouyax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Bouyax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   96
 
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   Statut Membre Dernière intervention   96
 
pour info il faut sélectionner toutes les cellules à modifier puis lancer la macro.
0
Bouyax Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Au top ça marche, merci!
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Excuse moi de t'avoir dérangé
0