OVH Cloud OVH Cloud

Replace, rien à faire !

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

ça va faire 2 jours que je traine sur ce forum (et sur d'autres) pour faire
un Replace sur une plage de cellules...

J'ai eu beau tenter 4 ou 5 techniques différentes, rien n'y fait, ça ne
fonctionne pas...

Juste là maintenant, quelque chose comme ça :
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:=False

Et bien sûr, il ne se passe rien (bon, au moins, il n'y a pas d'erreurs,
mais bon). Sinon, j'ai aussi essayé comme ceci :
feuille = "Lundi"
For Each c In Sheets(feuille).Range("D6:E7")
'[c] est déclaré as Object
c.Offset(0, 1).Replace what:="semaine", replacement:="",
LookAt:=xlPart, _
searchorder:=xlByColumns, MatchCase:=False
Next

J'ai aussi essayé sans l'Offset, mais non plus, ça ne fonctionne pas. Et
bien sûr, j'ai essayé d'enlever le searchorder, le matchcase, le lookat, de
changer les combinaisons, de changer l'ordre...

Bref, est-ce quelqu'un pourrait m'expliquer ce qui ne va pas ? (J'ai le
excel de windows xp)

Merci bien beaucoup d'avance pour vos réponses positives (pourrait-il en
être autrement :)!

7 réponses

Avatar
Pounet95
Bonsoir,
Juste essayé la première procédure
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse


Cela remplace effectivement les cellules contenant le mot semaine par rien.
A tout hasard : n'y aurait-il pas du VBA dans le module de la feuille qui
empêche ceci ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

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

Bien le bonjour à tous !

ça va faire 2 jours que je traine sur ce forum (et sur d'autres) pour
faire
un Replace sur une plage de cellules...

J'ai eu beau tenter 4 ou 5 techniques différentes, rien n'y fait, ça ne
fonctionne pas...

Juste là maintenant, quelque chose comme ça :
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse

Et bien sûr, il ne se passe rien (bon, au moins, il n'y a pas d'erreurs,
mais bon). Sinon, j'ai aussi essayé comme ceci :
feuille = "Lundi"
For Each c In Sheets(feuille).Range("D6:E7")
'[c] est déclaré as Object
c.Offset(0, 1).Replace what:="semaine", replacement:="",
LookAt:=xlPart, _
searchorder:=xlByColumns, MatchCase:úlse
Next

J'ai aussi essayé sans l'Offset, mais non plus, ça ne fonctionne pas. Et
bien sûr, j'ai essayé d'enlever le searchorder, le matchcase, le lookat,
de
changer les combinaisons, de changer l'ordre...

Bref, est-ce quelqu'un pourrait m'expliquer ce qui ne va pas ? (J'ai le
excel de windows xp)

Merci bien beaucoup d'avance pour vos réponses positives (pourrait-il en
être autrement :)!


Avatar
Jacquouille
Bonsoir Pounet
Et un truc comme ceci, ça n'irait pas ?
----------
For each c in range ("D6:E7")
If [c] = "semaine" then
[c] = ""
End if
Next
----------
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

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

Bonsoir,
Juste essayé la première procédure
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="",
_
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse


Cela remplace effectivement les cellules contenant le mot semaine par
rien.
A tout hasard : n'y aurait-il pas du VBA dans le module de la feuille qui
empêche ceci ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

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

Bien le bonjour à tous !

ça va faire 2 jours que je traine sur ce forum (et sur d'autres) pour
faire
un Replace sur une plage de cellules...

J'ai eu beau tenter 4 ou 5 techniques différentes, rien n'y fait, ça ne
fonctionne pas...

Juste là maintenant, quelque chose comme ça :
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="",
_
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse

Et bien sûr, il ne se passe rien (bon, au moins, il n'y a pas d'erreurs,
mais bon). Sinon, j'ai aussi essayé comme ceci :
feuille = "Lundi"
For Each c In Sheets(feuille).Range("D6:E7")
'[c] est déclaré as Object
c.Offset(0, 1).Replace what:="semaine", replacement:="",
LookAt:=xlPart, _
searchorder:=xlByColumns, MatchCase:úlse
Next

J'ai aussi essayé sans l'Offset, mais non plus, ça ne fonctionne pas. Et
bien sûr, j'ai essayé d'enlever le searchorder, le matchcase, le lookat,
de
changer les combinaisons, de changer l'ordre...

Bref, est-ce quelqu'un pourrait m'expliquer ce qui ne va pas ? (J'ai le
excel de windows xp)

Merci bien beaucoup d'avance pour vos réponses positives (pourrait-il en
être autrement :)!





Avatar
Pounet95
Bonsoir Jacquouille,
Oh moi, tu sais, je ne veux pas déranger, donc ça me va !
Je me suis juste contenté d'essayer une des manips de Rekam et
de lui confirmer que ça marchait, que son problème était ailleurs.
Au plaisir
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Jacquouille" a écrit dans le message de
news: %
Bonsoir Pounet
Et un truc comme ceci, ça n'irait pas ?
----------
For each c in range ("D6:E7")
If [c] = "semaine" then
[c] = ""
End if
Next
----------
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

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

Bonsoir,
Juste essayé la première procédure
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="",
_
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse


Cela remplace effectivement les cellules contenant le mot semaine par
rien.
A tout hasard : n'y aurait-il pas du VBA dans le module de la feuille qui
empêche ceci ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Rekam" a écrit dans le message de
news:
Bien le bonjour à tous !

ça va faire 2 jours que je traine sur ce forum (et sur d'autres) pour
faire
un Replace sur une plage de cellules...

J'ai eu beau tenter 4 ou 5 techniques différentes, rien n'y fait, ça ne
fonctionne pas...

Juste là maintenant, quelque chose comme ça :
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="",
_
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse

Et bien sûr, il ne se passe rien (bon, au moins, il n'y a pas d'erreurs,
mais bon). Sinon, j'ai aussi essayé comme ceci :
feuille = "Lundi"
For Each c In Sheets(feuille).Range("D6:E7")
'[c] est déclaré as Object
c.Offset(0, 1).Replace what:="semaine", replacement:="",
LookAt:=xlPart, _
searchorder:=xlByColumns, MatchCase:úlse
Next

J'ai aussi essayé sans l'Offset, mais non plus, ça ne fonctionne pas. Et
bien sûr, j'ai essayé d'enlever le searchorder, le matchcase, le lookat,
de
changer les combinaisons, de changer l'ordre...

Bref, est-ce quelqu'un pourrait m'expliquer ce qui ne va pas ? (J'ai le
excel de windows xp)

Merci bien beaucoup d'avance pour vos réponses positives (pourrait-il en
être autrement :)!









Avatar
Jacquouille
Mais, mon cher Pounet, ça dérange pas.
C'est juste pour la beauté du geste, pour la culture scientifique (???) et
une autre manière d'aborder le problème. -))))))
Il n'est nullement question d'imposer aucune méthode.

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

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

Bonsoir Jacquouille,
Oh moi, tu sais, je ne veux pas déranger, donc ça me va !
Je me suis juste contenté d'essayer une des manips de Rekam et
de lui confirmer que ça marchait, que son problème était ailleurs.
Au plaisir
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Jacquouille" a écrit dans le message de
news: %
Bonsoir Pounet
Et un truc comme ceci, ça n'irait pas ?
----------
For each c in range ("D6:E7")
If [c] = "semaine" then
[c] = ""
End if
Next
----------
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

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

Bonsoir,
Juste essayé la première procédure
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine",
replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse


Cela remplace effectivement les cellules contenant le mot semaine par
rien.
A tout hasard : n'y aurait-il pas du VBA dans le module de la feuille
qui empêche ceci ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Rekam" a écrit dans le message de
news:
Bien le bonjour à tous !

ça va faire 2 jours que je traine sur ce forum (et sur d'autres) pour
faire
un Replace sur une plage de cellules...

J'ai eu beau tenter 4 ou 5 techniques différentes, rien n'y fait, ça ne
fonctionne pas...

Juste là maintenant, quelque chose comme ça :
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine",
replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse

Et bien sûr, il ne se passe rien (bon, au moins, il n'y a pas
d'erreurs,
mais bon). Sinon, j'ai aussi essayé comme ceci :
feuille = "Lundi"
For Each c In Sheets(feuille).Range("D6:E7")
'[c] est déclaré as Object
c.Offset(0, 1).Replace what:="semaine", replacement:="",
LookAt:=xlPart, _
searchorder:=xlByColumns, MatchCase:úlse
Next

J'ai aussi essayé sans l'Offset, mais non plus, ça ne fonctionne pas.
Et
bien sûr, j'ai essayé d'enlever le searchorder, le matchcase, le
lookat, de
changer les combinaisons, de changer l'ordre...

Bref, est-ce quelqu'un pourrait m'expliquer ce qui ne va pas ? (J'ai le
excel de windows xp)

Merci bien beaucoup d'avance pour vos réponses positives (pourrait-il
en
être autrement :)!












Avatar
Rekam
Chers gens,

merci pour vos promptes réponses d'une philosophie que même Sartre n'aurait
pu égaler ;)

Pounet, tu as raison, ça marche. Mais pas tout à fait. J'ai trouvé
exactement le problème. Mon but, c'est de modifier une plage de cellules,
chacune contenant une formule. Et c'est là qu'il subsiste un problème de
taille.

En gros, ma formule ressemble à : ='[gluk.xls]semaine1'!A15

Si je fais un replace là-dessus, ça ne fonctionne pas. J'enlève le "=", ça
marche.

Je n'ai qu'une chose à dire pour conclure ce post d'exeption : snif... :'(

a+!


"Pounet95" wrote:

Bonsoir,
Juste essayé la première procédure
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse


Cela remplace effectivement les cellules contenant le mot semaine par rien.
A tout hasard : n'y aurait-il pas du VBA dans le module de la feuille qui
empêche ceci ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

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

Bien le bonjour à tous !

ça va faire 2 jours que je traine sur ce forum (et sur d'autres) pour
faire
un Replace sur une plage de cellules...

J'ai eu beau tenter 4 ou 5 techniques différentes, rien n'y fait, ça ne
fonctionne pas...

Juste là maintenant, quelque chose comme ça :
feuille = "Lundi"
Sheets(feuille).Range("D6:E7").Replace what:="semaine", replacement:="", _
LookAt:=xlPart, searchorder:=xlByColumns, MatchCase:úlse

Et bien sûr, il ne se passe rien (bon, au moins, il n'y a pas d'erreurs,
mais bon). Sinon, j'ai aussi essayé comme ceci :
feuille = "Lundi"
For Each c In Sheets(feuille).Range("D6:E7")
'[c] est déclaré as Object
c.Offset(0, 1).Replace what:="semaine", replacement:="",
LookAt:=xlPart, _
searchorder:=xlByColumns, MatchCase:úlse
Next

J'ai aussi essayé sans l'Offset, mais non plus, ça ne fonctionne pas. Et
bien sûr, j'ai essayé d'enlever le searchorder, le matchcase, le lookat,
de
changer les combinaisons, de changer l'ordre...

Bref, est-ce quelqu'un pourrait m'expliquer ce qui ne va pas ? (J'ai le
excel de windows xp)

Merci bien beaucoup d'avance pour vos réponses positives (pourrait-il en
être autrement :)!






Avatar
AV
A adapter :

Sub zz()
ActiveWindow.DisplayFormulas = True
[feuille!D6:E7].Replace What:="Feuil1!", Replacement:="Feuil2!", LookAt:=xlPart
ActiveWindow.DisplayFormulas = False
End Sub

Astuce pour éviter de boucler sur la plage : afficher les formules (donc du
texte) > remplacer > désactiver l'affichage des formules
AV
Avatar
Rekam
Salut,

joli coup, ça marche.... mais il y a toujours quelque chose qui cloche. Et
là, j'avoue que je n'y comprend rien.

Le contenu de mes cellules :
='Servtempexperimental[(experimental) domicile.xls]semaine 1'!AA10

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

Comme ceci, ça fonctionne. Si je met a1 = "semaine 1" et a2 = "semaine 2",
ça ne marche plus. Mais pourquoi diantre ?!!

Plus dingue encore : si je veux changer "domicile", c'est bon, y'a pas de
problème. Pourquoi juste "semaine", ça ne veut pas, je ne demande quand même
pas la lune, quoi, zut !

Enfin bref, merci d'avance pour vos réponses, et a+!

"AV" wrote:

A adapter :

Sub zz()
ActiveWindow.DisplayFormulas = True
[feuille!D6:E7].Replace What:="Feuil1!", Replacement:="Feuil2!", LookAt:=xlPart
ActiveWindow.DisplayFormulas = False
End Sub

Astuce pour éviter de boucler sur la plage : afficher les formules (donc du
texte) > remplacer > désactiver l'affichage des formules
AV