OVH Cloud OVH Cloud

Une spécialité de Replace ?

3 réponses
Avatar
Rekam
Bien le bonjour à tous !

J'avais une petite question en relation avec la fonction Replace.
J'ai un problème pour remplacer du texte dans une cellule qui contient une
formule.

Contenu de la cellule :
='\\serv\experimental\[(experimental) domicile.xls]semaine1'!AS10

Le code VBA :
Dim a1, a2 As String
a1 = "semaine1"
a2 = "semaine2"
ActiveWindow.DisplayFormulas = True
Range("B6:C6").Replace What:=a1, Replacement:=a2, LookAt:=xlPart
ActiveWindow.DisplayFormulas = False

Comme ceci, ça ne fonctionne pas. Le nom de la feuille (semaine1) ne se
remplace pas. Par contre, et c'est là que je ne comprend plus, si je veux
remplacer "domicile", ça marche. Pareil pour "AS" ou n'importe quel autre
endroit de la String.

Qqun a-t-il (elle) une réponse logique à ça ?

3 réponses

Avatar
AV
Perso, après tests, je ne constate pas ce problème (XL2000)

PS : éviter d'utiliser des noms de variables (a1 et a2) pouvant prêter à
confusion (références de cellules)
AV
Avatar
isabelle
bonjour Rekam,

le code fonctionne bien sur mon poste (win2000, xl2002)
une idée peut être, en remplacant
a1 = "semaine1"
a2 = "semaine2"
par
a1 = "semaine1'!"
a2 = "semaine2'!"

isabelle



Bien le bonjour à tous !

J'avais une petite question en relation avec la fonction Replace.
J'ai un problème pour remplacer du texte dans une cellule qui contient une
formule.

Contenu de la cellule :
='servexperimental[(experimental) domicile.xls]semaine1'!AS10

Le code VBA :
Dim a1, a2 As String
a1 = "semaine1"
a2 = "semaine2"
ActiveWindow.DisplayFormulas = True
Range("B6:C6").Replace What:¡, Replacement:¢, LookAt:=xlPart
ActiveWindow.DisplayFormulas = False

Comme ceci, ça ne fonctionne pas. Le nom de la feuille (semaine1) ne se
remplace pas. Par contre, et c'est là que je ne comprend plus, si je veux
remplacer "domicile", ça marche. Pareil pour "AS" ou n'importe quel autre
endroit de la String.

Qqun a-t-il (elle) une réponse logique à ça ?


Avatar
Rekam
Merci pour vos réponses!

Ma recherche de debug avance...petit à petit, mais ça avance. Je viens de
faire une grande découverte. Vous étiez déjà sûrement au courant, mais je le
dis au cas où : si on fait un replace dans une formule, et qu'on change des
données relatives à un autre fichier (nom du fichier ou nom de sa feuille),
ça ne fonctionne pas s'il est ouvert.

C'est très curieux. Si le fichier domicile.xls est ouvert, je ne peux pas
changer le nom de la feuille (semaine). Ni changer l'extension du fichier
(domicile.xls en domicile.xlt). Par contre, je ferme domicile.xls et c'est
bon...

à méditer.
a+!