OVH Cloud OVH Cloud

VBA. Remplacer une fonction

9 réponses
Avatar
HD
Bonjour,

La fonction "Replace" permet de remplacer une partie de la valeur d'une
cellule par une autre... Mais comment remplacer en partie une fonction ?

Exemple j'ai une formule qui est :

='C:\Toto\titi.xla'!RECZ(A1)
que je veux remplacer par
=RECZ(A1)

Mais la formule:
Cells.Replace What:="'C:\Toto\titi.xla'!", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:=False
ne fonctionne pas... à priori Replace ne cherche pas dans les formules...
Bien sûr j'ai la possibilité de faire une macro qui va parcourir toutes les
cellules une à une mais je sais que cela sera plus long qu'une fonction VBA
du style Replace...

Merci d'avance pour votre aide.
@+
HD

9 réponses

Avatar
Xav
Bonjour HD

Essaie

Cells.Replace What:="'C:Tototiti.xla'!", _ Replacement:="",
LookAt:=xlParts_ SearchOrder:=xlByColumns, MatchCase:úlse


--
Cordialement

@+
Xav
"HD" a écrit dans le message de
news:
Bonjour,

La fonction "Replace" permet de remplacer une partie de la valeur d'une
cellule par une autre... Mais comment remplacer en partie une fonction ?

Exemple j'ai une formule qui est :

='C:Tototiti.xla'!RECZ(A1)
que je veux remplacer par
=RECZ(A1)

Mais la formule:
Cells.Replace What:="'C:Tototiti.xla'!", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:úlse
ne fonctionne pas... à priori Replace ne cherche pas dans les formules...
Bien sûr j'ai la possibilité de faire une macro qui va parcourir toutes
les

cellules une à une mais je sais que cela sera plus long qu'une fonction
VBA

du style Replace...

Merci d'avance pour votre aide.
@+
HD




Avatar
HD
Cells.Replace What:="'C:Tototiti.xla'!", _ Replacement:="",
LookAt:=xlParts_ SearchOrder:=xlByColumns,
MatchCase:úlse


Cela ne fonctionne pas mieux...
--
@+
HD

Avatar
JpPradier
Bonjour HD

Chez moi, ça a fonctionné avec :

Cells.Replace What:="Feuil2!", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse

j-p
Avatar
HD
Les options SearchFormat:úlse et ReplaceFormat:úlse n'existe pas sous
Excel 97 en tout cas...

--
@+
HD
Avatar
JpPradier
Bon, avec Excel 97 :

Cells.Replace What:="feuil2!", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Evidemment, tu remplaces Feuil2! par ton chemin.

j-p
Avatar
HD
Evidemment, tu remplaces Feuil2!
par ton chemin.


Evidemment ; ) je l'ai remplacé ce chemin... Mais le problème est que "Les
options SearchFormat:úlse et ReplaceFormat:úlse n'existe pas sous
Excel 97 en tout cas..."
--
@+
HD

Avatar
JpPradier
As-tu bien lu ma 2e réponse ? c'est un copier-coller directement depuis Excel97 !

j-p
Avatar
HD
Cells.Replace What:="feuil2!", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Correspond en fait à mon premier post... La formule :

Cells.Replace What:="'C:Tototiti.xla'!", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:úlse

Ne fonctionne pas. Le replace ne cherche pas dans la formule d'une cellule
mais dans la valeur de celle-ci...

--
@+
HD
Avatar
JpPradier
Pourtant, ça fonctionne chez moi. Dans ton premier post, tu n'as pas l'argument LookAt et ton
SearchOrder est par colonne alors que moi, il est par ligne.

j-p