OVH Cloud OVH Cloud

Problème avec Selection.Replace

11 réponses
Avatar
axel
Bonjour tous,

visiblement un classique !...

En effet, j'ai parcouru pas mal de forums qui parlaient de mon problème:

Avec l'enregistreur de macro, je souhaitais importer 3 feuilles d'un fichier
modèle qui contient quelques 800 formules.

Pour pouvoir déplacer ces feuilles (et donc les formules) sans que mes
références
soient modifiées, j'ai remplacé le "=" par "z=" dans mon modèle. Et par une
macro,
j'importe les feuilles et je demande le remplacement de "z=" par "=" dans
tout le classeur.

Le hic : en manuel, pas de problème, mais lorsque je lance ma macro, RIEN !!

J'ai vu pas mal de gars qui rencontraient ce souci surtout quand il
s'agissait de traiter
des CSV avec le fameux problème décimal ("." au lieu de ","). L'emtêtant
c'est que moi,
je ne suis pas concerné par un problème de ce genre (donc, je ne peux pas
contourner
la chose en modifiant le "format nombre" , par ex.).

Franchement, j'ai TOUT essayé et j'atteinds le seuil limite de craquage.

J'accepte volontiers un ptit coup de main.
Par avance, merci.

Bien à vous.
Axel

1 réponse

1 2
Avatar
axel
Hey les gars, vous savez quoi ?
J'ai pas pu m'empêcher de continuer !

C'est fantastique !!!
Ca marche, fini matrix et vive star treck.
C'est carrément de la téléportation instantannée de formule.

Merci, merci, et encore merci.
J'étais complètement bloqué dans mon projet à cause de ce truc.

J'ai pensé à un truc : si vous voulez vous faire les dents sur le bug,
je vais vous joindre les fichiers qui me servent dans l'élaboration de
mon projet. Mais franchement ne vous prenez pas la tête outre mesure,
car votre solution me convient à merveille.

Nb: autant de formules dans ma feuille de travail car vous aurez facilement
déduit que le Csv est dynamique d'un client à un autre.
L'xls est en fait un csv à la base et ne faites pas attention à la feuille
Saturne,
c'est un archi brouillon
http://cjoint.com/?jjsFoWDYVO

Allez ! ++ et merci encore


"Mon Onc'" a écrit dans le message de news:

salut Philippe,

j'avais mis, puis retiré "Application.ScreenUpdating.." car sur IE, le
rafraichissement ne se faisait pas.
Attendons, en sirotant quelque rafraîchissement, si Axel a pu tirer
quelque bénéfice de cette proposition...






Bonjour Mon Onc',
Impec pour moi aussi !
Si on n'est pas attaché à l'effet "générique de Matrix" lors du
déroulement, on peut gagner ne vitesse avec cette variante :

Sub addSpace()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each cCell In Range("B5:I31")
cCell.FormulaLocal = " " & cCell.FormulaLocal
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Sub removeSpace()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each cCell In Range("B5:I31")
cCell.FormulaLocal = Trim(cCell.Text)
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

--
Avec plaisir
Philippe.R
"Mon Onc'" a écrit dans le message de
news:
bonjour Axel, Philippe,

en dehors du climat, Axel, tu ne donnes pas de détail sur ce qui se
produit quand tu exécutes la macro. Il y a quelques années, j'avais eu
un problème similaire, et AV ou MichDenis (pardon pour l'oubli) m'avait
conseillé d'utiliser "formulalocal" pour être certain que même des
fonctions "exotiques" soient bien traitées lors de la manip. La boucle
ralentit le traitement, mais au moins ça semble "blindé"
Ca donnait :

Sub addSpace()

For Each cCell In Range("B5:I31")
cCell.FormulaLocal = " " & cCell.FormulaLocal
Next
[A1].Select
End Sub

Sub removeSpace()

For Each cCell In Range("B5:I31")
cCell.FormulaLocal = Trim(cCell.Text)
Next
[A1].Select
End Sub

En ce qui me concerne, j'ajoute un espace au lieu d'un "z" en tête de
formule. Un exemple ici :
http://beher.free.fr/ajoute_supprime_espace.php


cordialement


Philippe.R avait soumis l'idée :
Re,
Curieux, car chez moi ça fonctionne bien ; un micro climat ?
http://cjoint.com/?jjkpcY6cRT
--
Avec plaisir
Philippe.R
"axel" a écrit dans le message de
news:46e3a890$0$27669$

Salut Philippe et merci pour ta réponse.

J'avais malheureusement déjà testé ta solution.
Sans succès, hélas.

C'est un truc incompréhensible car lorsque je fais la manip
en manuel, ca marche bien.

C'est à n'y rien comprendre.

Axel.

+++++++++++++++++++++++++++++++++++++++++++


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:
Bonjour axel,
Et si tu remplace

Cells.Replace "z=", "="

par

Selection.Cells.Replace "z=", "="

ça fait quoi chez toi ?
-- Avec plaisir
Philippe.R
"axel" a écrit dans le message de
news:46e380a0$0$18294$

JB tu m'abandonnes ?

Bonjour à tous,

ci dessous l'historique de mon problème.
Si quelqu'un a un idée, elle est la bienvenue.

Bien à vous.



"axel" a écrit dans le message de news:
46dfb075$0$25744$

Merci pour ta rapidité JB.

Mais le résultat n'est pas celui escompté.

Mon bout de code:

' remplacement du "Z=" par "=" permettant le transfert des formules
du modèle

Sheets("2").Select
Range("A1:BS12").Select
Cells.Replace "z=", "="
Sheets("SYNTHESE").Select
Range("A1:H52").Select
Cells.Replace "z=", "="
Sheets("SATURNE").Select
Range("A1:L65").Select
Cells.Replace "z=", "="
Range("A1").Select

Même résultat pour moi, c.a.d. rien.

Qu'en penses-tu ?




"JB" a écrit dans le message de news:

Bonjour,

Cells.Replace "z=", "="

http://cjoint.com/?jgi4lYsMJW

JB


On 6 sep, 08:46, "axel" wrote:
Bonjour tous,

visiblement un classique !...

En effet, j'ai parcouru pas mal de forums qui parlaient de mon
problème:

Avec l'enregistreur de macro, je souhaitais importer 3 feuilles
d'un fichier
modèle qui contient quelques 800 formules.

Pour pouvoir déplacer ces feuilles (et donc les formules) sans que











mes
références
soient modifiées, j'ai remplacé le "=" par "z=" dans mon modèle.
Et par une
macro,
j'importe les feuilles et je demande le remplacement de "z=" par
"=" dans
tout le classeur.

Le hic : en manuel, pas de problème, mais lorsque je lance ma
macro, RIEN !!

J'ai vu pas mal de gars qui rencontraient ce souci surtout quand
il
s'agissait de traiter
des CSV avec le fameux problème décimal ("." au lieu de ",").
L'emtêtant
c'est que moi,
je ne suis pas concerné par un problème de ce genre (donc, je ne
peux pas
contourner
la chose en modifiant le "format nombre" , par ex.).

Franchement, j'ai TOUT essayé et j'atteinds le seuil limite de
craquage.

J'accepte volontiers un ptit coup de main.
Par avance, merci.

Bien à vous.
Axel






























1 2