Excel (VBA) : Modifier contenu formule

Fermé
Septimel - 3 avril 2009 à 16:42
 Septimel - 6 avril 2009 à 11:19
Bonjour,

Je souhaiterais savoir comment rédiger une requete qui va aller vérifier non pas le contenu d'une cellule mais la formule elle-même de la cellule Excel, et la modifier.

Dans Excel, une formule commence par le symbole "="

Je voudrais donc (par exemple)

1. Savoir si la cellule A1 contient une formule
Dans cellule A1 il est écrit "=B1+C1"

2. Modifier une partie de cette formule (je voudrais remplacer C1 par D1)

J'étais parti sur

If left(MyWorksheet.Cells(1, "A") = "=" then
MyWorksheet.Cells(1, "A") = left(MyWorksheet.Cells(1, "A"), 3) & 'D1'
End If

Ce n'est surement pas la bonne solution, car je me prends un typemismatch dans la figure (évidemment, ca semblait trop simple).

Auriez vous une solution?

En vous remerciant d'avance
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 avril 2009 à 17:19
bonjour,
utilise
If tacellule.HasFormula Then
...ton code
end if

syntaxe de cells:
cells (12,3) pour C12 et non cells(12, "C")

voir cet exemple
With ActiveSheet.Cells(1, 1)
If .HasFormula Then
.FormulaR1C1Local = .Cells(1, 3) + .Cells(1, 4)
End If
End With
1
Rebonjour... je me rend compte que j'ai écris

If left(MyWorksheet.Cells(1, "A") = "=" then

je voulais écrire

If left(MyWorksheet.Cells(1, "A"), 1 ) = "=" then
0
Merci beaucoup, j'ai compris le principe :)
0