Récupération et réutilisation de formule

Cédric37 - Modifié par jordane45 le 22/07/2015 à 13:47
 Cédric37 - 22 juil. 2015 à 14:46
Bonjour à tous !

Je suis bloqué sur un problème depuis un petit moment maintenant donc je m'en remet à vous, je pense que ce n'est pas extrêmement compliqué...

J'ai un tableau avec des formules et certaines me renvoie une erreur #N/A. Ce que je cherche à faire c'est à remplacer les formule de toutes ces cellules par =SI(ESTERREUR(FormuleO);"";FormuleO)
Avec FormuleO = Formule d'origine de ma cellule.

J'arrive à récupérer la formule de la cellule en VBA mais pas à la réinclure comme voulu...

Voici le code:
Sub transformer_cliquer()


Dim vFormule As String
Dim vAdresse As String
Dim PlageSelec As Range
Dim Cell As Object
Dim Montableau As Worksheet

Set Montableau = ThisWorkbook.Worksheets(1)
Set PlageSelec = Montableau.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors) 'Définie la plage de cellule où il y a des erreurs, ca c'est ok.


For Each Cell In PlageSelec

vAdresse = Cell.Address 'Récupère l'adresse ok
vFormule = Cell.Formula 'Récupère la formule ok


MsgBox vFormule & vAdresse 'Test pour voir si ça récupère bien la formule et l'adresse.


If IsError(Cell) Then Cell.FormulaR1C1 = "=IF(ISERROR(" & vFormule & "),""""," & vFormule & ")" 'Et c'est là que ça ne marche pas !


Next Cell

Application.DisplayAlerts = False

End Sub


Merci bcp de votre aide !!

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
EDIT2 : VB6 n'est pas VBA.

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
22 juil. 2015 à 14:25
Bonjour,

Le problème est que tu récupères le "=" de la formule.
Change cette ligne
vFormule = Right(Cell.Formula, Len(Cell.Formula) - 1) 'Récupère la formule ok


0
Super ça marche merci !!
0
Rejoignez-nous