Supprimer liaisons externes excel

Vanessa18 -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour à tous,

Voilà je débute en VBA et j'aimerais remplacer les formules des cellules par leur valeur dans toutes les feuilles de mon classeur.

J'ai déjà essayé ceci pour une feuille de calcul:

Dim Cellule As Range

For Each Cellule In Worksheets("Feuil1").Range("A1:BJ500")
If Cellule.HasFormula=true Then
Cellule.Formula = Cellule.Value
End If
Next Cellule

J'ai le message d'erreur "Erreur définie par l'application ou par l'objet." et quand je clique sur débogage, il me surligne la ligne "Cellule.Formula = Cellule.Value". Je n'arrive pas à voir où se situe mon erreur.

Quelqu'un aurait-il une solution ou une piste?

Merci d'avance

A voir également:

3 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
dans toutes les feuilles de mon classeur.
Sub CH()  
Dim i As Integer  
    For i = 1 To Worksheets.Count  
        Sheets(i).UsedRange = Sheets(i).UsedRange.Value  
    Next i  
End Sub
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
1
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Avec la piste donnée par Michel.. :-)
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour
sans boucle ni copypaste....

Sub sanscopypaste()
Range("A1:BJ500") = Range("A1:BJ500").Value
End Sub
1
m@rina Messages postés 26524 Date d'inscription   Statut Contributeur Dernière intervention   11 490
 
Hello Michel !

Ben oui, pourquoi faire simple quand on peut faire compliqué !!! ;))
A +
m@rina
0
m@rina Messages postés 26524 Date d'inscription   Statut Contributeur Dernière intervention   11 490
 
Bonsoir,

Bizarre, car ton code paraît bon.
Il faudrait voir ton classeur...

Sinon, tu peux peut être essayer un collage spécial :

Sub collage_val()
For Each cellule In Worksheets("Feuil1").Range("A1:BJ500").SpecialCells(xlCellTypeFormulas, 23).Cells
cellule.Copy
cellule.PasteSpecial Paste:=xlPasteValues, Transpose:=False
Next
End Sub


m@rina
0