A voir également:
- Excel 07/ Pb macro VB/ Remplacer formule
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel si et - Guide
- Formule excel moyenne - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
2 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
29 oct. 2008 à 09:22
29 oct. 2008 à 09:22
bonjour
Avec "Formula" tu dois écrire ta formule en anglais sinon tu mets "Formulalocale"
Avec "Formula" tu dois écrire ta formule en anglais sinon tu mets "Formulalocale"
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
29 oct. 2008 à 10:48
29 oct. 2008 à 10:48
bonjour
Comme ceci ?
J'ai juste repris ta formule de départ.
Comme ceci ?
Formule = "=DROITE(GAUCHE(etab2!$A$3;31);2)" For Each Cellule In Range("F5:F135") Cellule.FormulaLocal = Formule Next Cellule
J'ai juste repris ta formule de départ.
Le Pb c'est que on aura la formule "=DROITE(GAUCHE(etab2!$A$3;31);2)" que dans la cellule F5, en F6 on aure "=DROITE(GAUCHE(etab3!$A$3;31);2)" et ainsi de suite... d'où mon idée de mettre right pour ne pas m'embêter avec les différents etab...
Sub Boucle()
Sheets("bdd").Select
Dim Cellule As Range
Dim Formule As String
For Each Cellule In Range("F5:F135")
Formule = Replace(Cellule.FormulaLocal, Right(Formule, 21), "31);2")
Là je remplace les 21 derniers caractères de Formule par 31);2
Formule = Replace(Cellule.FormulaLocal, "droite(", "droite(gauche(")
Là je remplace droite( par droite(gauche(
Cellule.FormulaLocal = Formule
Next Cellule
End Sub
Sub Boucle()
Sheets("bdd").Select
Dim Cellule As Range
Dim Formule As String
For Each Cellule In Range("F5:F135")
Formule = Replace(Cellule.FormulaLocal, Right(Formule, 21), "31);2")
Là je remplace les 21 derniers caractères de Formule par 31);2
Formule = Replace(Cellule.FormulaLocal, "droite(", "droite(gauche(")
Là je remplace droite( par droite(gauche(
Cellule.FormulaLocal = Formule
Next Cellule
End Sub
29 oct. 2008 à 10:31
Par contre, il ne me remplace rien du tout... Le contenu des cellules n'a pas changé! Do you know why?
Sub Boucle()
Sheets("bdd").Select
Dim Cellule As Range
Dim Formule As String
For Each Cellule In Range("F5:F135")
Formule = Replace(Cellule.FormulaLocal, Right(Formule, 21), "31);2")
Formule = Replace(Cellule.FormulaLocal, "droite(", "droite(gauche(")
Cellule.FormulaLocal = Formule
Next Cellule
End Sub