Supprimer liaisons externes excel

Fermé
Vanessa18 - 21 avril 2011 à 10:52
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 23 avril 2011 à 13:57
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 23/04/2011 à 13:57
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
23 avril 2011 à 13:57
Avec la piste donnée par Michel.. :-)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 avril 2011 à 11:22
Bonjour
sans boucle ni copypaste....

Sub sanscopypaste()
Range("A1:BJ500") = Range("A1:BJ500").Value
End Sub
1
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
22 avril 2011 à 17:45
Hello Michel !

Ben oui, pourquoi faire simple quand on peut faire compliqué !!! ;))
A +
m@rina
0
m@rina Messages postés 20027 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 18 avril 2024 11 269
22 avril 2011 à 00:01
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