Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

retablissement de formule

3 réponses
Avatar
Boursicot
Bonjour,

Je voudrais faire une petite macro me permettant de retablir une formule
dans la cellule active à partir de la formule dans la même case que celle
d'un fichier modèle par exemple modèle.xlt afin de permettre à un
utilisateur ayant effacé une formule et changé d'avis de la remettre
facilement.
Je pense que ce n'est pas trop compliqué mais si quelqun a la macro toute
faite ce serait avec plaisir.

A+

3 réponses

Avatar
isabelle
bonjour Boursicot,

il faudrait que les formules du classeur modèle soit précédées d' un
espace. pour se faire tu peux faire un rechercher de "=" et remplacer
tout par " ="
les formules récupérer seront de type string il ne restera qu'à
remplacer l'espace devant le signe = pour retrouver la formule intact.

Sub FormuleModèle()
Ligne = ActiveCell.Row
Colonne = ActiveCell.Column
'attention les deux prochaines lignes sont une seule commande
ActiveCell = ExecuteExcel4Macro _
("'c:Mes Documentstest[Class1.xls]Feuil1'!R" & Ligne & "C" & Colonne
& "")
End Sub

isabelle


Bonjour,

Je voudrais faire une petite macro me permettant de retablir une formul e
dans la cellule active à partir de la formule dans la même case que celle
d'un fichier modèle par exemple modèle.xlt afin de permettre à u n
utilisateur ayant effacé une formule et changé d'avis de la remettr e
facilement.
Je pense que ce n'est pas trop compliqué mais si quelqun a la macro t oute
faite ce serait avec plaisir.

A+


Avatar
MacBob
Salut Boursicot (tu boursicotes?)

Je te conseille, si cela n'alourdit pas trop ton fichier, de créer une
feuille Modele que tu peux masquer (et même protéger par mot de passe) dans
le même classeur. Cela permet de n'avoir qu'un classeur et d'éviter un
déplacement donc un changement d'adresse du modèle.

Sub Remplace()

MaFeuille = ActiveSheet.Name
l = ActiveCell.Row
c = ActiveCell.Column
Application.ScreenUpdating = False
'ActiveWorkbook.Unprotect si tu as protégé le classeur pour empécher
d'avoir accès à la feuille "Modele"
Modele.Visible = True
Modele.Cells(l, c).Copy
Modele.Visible = False
Sheets(MaFeuille).Select
ActiveSheet.Paste
'ActiveWorkbook.Protect Structure:=True, Windows:úlse

End Sub

MacBob 8°)))

dans l'article 3f06d10c$0$11559$, Boursicot à
a écrit le 5/07/03 15:22 :

Bonjour,

Je voudrais faire une petite macro me permettant de retablir une formule
dans la cellule active à partir de la formule dans la même case que celle
d'un fichier modèle par exemple modèle.xlt afin de permettre à un
utilisateur ayant effacé une formule et changé d'avis de la remettre
facilement.
Je pense que ce n'est pas trop compliqué mais si quelqun a la macro toute
faite ce serait avec plaisir.

A+




Avatar
Boursicot
Bonjour macbob,

Oui oui je boursicote,
J'avais pensé à ta solution et c'est peut être celle vers laquelle je vais
me diriger mais elle m'ennuie car un peu lourde.
Mon fichier de depart fait déjà presque 900k et s'étale sur plusieurs
sheets.
Ca m'oblige je pense a doubler la taille du fichier initial et à faire une
macro ressemblant à celle que tu proposes en fonction de la feuille sur
laquelle on se situe.
Sinon j'en suis à

monclasseur = ActiveWorkbook.Name
ligne = ActiveCell.Row
colonne = ActiveCell.Column
Dim Classeur As Workbook
Set Classeur = GetObject("C:xxxyyyyzzzzzExcelmodèle.xls")
Classeur.Activate
Cells(ligne, colonne).Select
Selection.Copy
Windows(monclasseur).Activate
ActiveSheet.Paste
Set Classeur = Nothing


A priori ca commence à fonctionner pas mal mais je voudrais une dernière
amelioration.
Tous les utilisateurs du modèle vont le placer dans des repertoires
differents.
En leur imposant de mettre le modèle dans le même repertoire que celui ou
ils vont travailler celà devrait pouvoir marcher mais pour l'instant ma
fonction getobject se refere à une place fixe, je voudrais qu'elle se refere
à un emplacement relatif .
Je ne connais pas la syntaxe.
Qui peut m'aider?

Boursicot

A++