Excel (VBA) : Modifier contenu formule
Septimel
-
Septimel -
Septimel -
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
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:
- Excel (VBA) : Modifier contenu formule
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Déplacer colonne excel - Guide
3 réponses
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
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