Menu

Mettre un espace devant toutes les formules d'une plage sélect. [Résolu]

nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 08:24 - Dernière réponse : eriiic 21650 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention
- 16 sept. 2017 à 20:23
Bonjour,
J'aimerais rajouter par macro un espace devant toutes les formules d'une plage .
(excel 2000)
Merci a vous par avance


Afficher la suite 

Votre réponse

16 réponses

gbinforme 14981 Messages postés lundi 18 octobre 2004Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 10:01
0
Merci
Bonjour,

Si tu rajoutes un espace, tes formules ne fonctionneront plus.
Tu n'as pas besoin de macro car cela fonctionne très bien avec ctrl+h
Commenter la réponse de gbinforme
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 10:26
0
Merci
j'ai essayé avec Ctrl+H,cela m'ouvre la boite "RECHERCHER".
je cherche a mettre un espace devant chaque formule d'une plage de façon a pouvoir déplacer cette même plage sans changer les coordonnées de mes formules.
ensuite je supprime les espaces .
gbinforme 14981 Messages postés lundi 18 octobre 2004Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 10:35
re
Il faut modifier les options et regarder dans "formules" au lieu de valeurs
Commenter la réponse de nihcoc
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 13:38
0
Merci
J'ai remplacé "plage" par "selection" dans la macro ,mais ça transforme la formule par sa valeur ,ce qui n'est pas le but recherché.
le but recherché étant de pouvoir déplacer une plage de cellule remplie de formules sans altéré les références des formules.
gbinforme 14981 Messages postés lundi 18 octobre 2004Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 14:09
Si tu copies une "plage" ou une "sélection" c'est nécessairement sa valeur donc pour faire ce que tu veux faire il faut modifier "formula" en début et en fin.
Dim cel As Range
For Each cel In Selection.Cells
    If Left(cel.Formula, 1) = "=" Then
        cel.Formula = " " & cel.Formula
    End If
Next cel
Selection.Copy Destination:=[nouvelle plage]
Commenter la réponse de nihcoc
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 14:35
0
Merci
Je n'ai pas copier la dernière ligne de code car je voulais déplacer la plage manuellement ,mais ça marche très bien.
Sans vouloir abuser de ton temps ,serait il possible d'avoir le code pour faire l'inverse,c'est a dire que dans la nouvelle plage ,pouvoir enlever les formules qui on donc un espace au début pour les rendre actives.

Merci
eriiic 21650 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 14:52
Bonjour,

Ctrl+h
Remplacer: " ="
Par : =
dans les formules

Sinon tu faisais un couper-coller de tes formules et c'était bon
eric
Commenter la réponse de nihcoc
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 15:26
0
Merci
Je vous envoie la macro qui met un espace devant chaque formule, elle marche très bien.
mais je n'ai pas réussi a la modifier pour enlever l'espace,si vous pouviez me faire la modification,ce serait parfait


Sub Macro2()
Dim cel As Range
For Each cel In Selection.Cells
If Left(cel.Formula, 1) = "=" Then
cel.Formula = " " & cel.Formula
End If
Next cel
End Sub
eriiic 21650 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 17:27
Apprends plutôt d'abord à te servir d'excel avant de vouloir compenser avec des macros que tu ne maitrises pas plus.
Dans la boite Remplacer tu as un bouton Options, il sert.
eric
Commenter la réponse de nihcoc
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 17:58
0
Merci
Dans la boite remplacer,je n'ai pas de bouton option .
de plus si je demande un coup de main pour les macros ,c'est justement parce que j'ai des lacunes.
Commenter la réponse de nihcoc
eriiic 21650 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - Modifié par eriiic le 16/09/2017 à 18:05
0
Merci
Tu n'as pas ça ?

Quelle version d'excel ?
En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Commenter la réponse de eriiic
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - 16 sept. 2017 à 18:08
0
Merci
version 2000 comme je l'ai mis dans ma question .
eriiic 21650 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 18:16
Je ne connais pas 2000.
Mais à défaut tu dois avoir 'Afficher les formules' dans un menu ou par le raccourci Ctrl+"

Et comme je te l'ai dit un coupé-collé des tes formules ne modifie pas les ref.
2 bonnes raisons de ne pas faire de macros pour l'instant
Commenter la réponse de nihcoc
gbinforme 14981 Messages postés lundi 18 octobre 2004Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 18:24
0
Merci
Bonjour,

Comme je te l'avais dit et qu'Éric te l'a répété, je pense que l'utilisation de ctrl+h est bien plus judicieuse qu'une macro.
Sur la version 2000 "Options" est présente.

Cependant si tu veux la macro inverse, il suffit de modifier la première en conséquence.
Sub Macro3()
Dim cel As Range
    For Each cel In Selection.Cells
        If Left(cel.Formula, 2) = " =" Then
            cel.Formula = Mid(cel.Formula, 2)
        End If
    Next cel
End Sub
Commenter la réponse de gbinforme
nihcoc 120 Messages postés dimanche 9 mars 2014Date d'inscription 5 avril 2018 Dernière intervention - Modifié par nihcoc le 16/09/2017 à 19:44
0
Merci
Bonjour

Je ne comprend pas parce que je n'ai pas de bouton option dan la boite de dialogue "REMPLACER".

Par contre je ne comprend pas pourquoi dans la macro que vous m'avez envoyé (5)qui fonctionne d'ailleur très bien,les fonctions qui sont utilisés dans les formules qui était en français se transforme en anglais.
J'ai aussi essayé en affichant les formules et ensuite de les déplacer,mais les références de formules changent.
Alors qu'avec votre macro quand on déplace les formules elle ne changent pas.
Merci d'avance
eriiic 21650 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 2 juin 2018 Dernière intervention - 16 sept. 2017 à 20:23
ensuite de les déplacer
Comment ?
Commenter la réponse de nihcoc