OVH Cloud OVH Cloud

bizarrerie de "Rechercher"

4 réponses
Avatar
Géronte
Bonjour

Je viens de m'arracher les cheveux qui me restaient en me battant avec
une macro VBA défaillante.

J'ai trouvé l'explication dans un fonctionnement bizarre de "Rechercher"
ou "Remplacer", que ce soit par fenêtre de dialogue ou par VBA :
-Si cela s'applique au classeur, la recherche se fait réellement dans
tout le classeur, pas seulement dans la zone sélectionnée
-Si cela s'applique à la feuille
-zone sélectionnée réduite à une cellule: la recherche se fait sur
toute la feuille (éventuellement tout le classeur)
-zone sélectionnée de plusieurs cellules : c'est le seul cas ou la
recherche/remplacement est limité à la sélection.
Je n'avais vu cela dans aucune doc...

Pour éviter le problème la prochaine fois, je voudrais bien savoir
comment forcer, par VBA, l'option rechercher/remplacer "Dans Feuille",
au lieu de "Dans Classeur"

Merci

4 réponses

Avatar
lSteph
Bonsoir,
comment t'y prends-tu?

... lorsque je fais un rechercher remplacer depuis excel
ou par vba

Sub rrr()
[a1:j100].Replace "toto", "tata"
End Sub

cela ne s'applique qu'à la feuille active.

lSteph
"Géronte" a écrit dans le message de news:

Bonjour

Je viens de m'arracher les cheveux qui me restaient en me battant avec une
macro VBA défaillante.

J'ai trouvé l'explication dans un fonctionnement bizarre de "Rechercher"
ou "Remplacer", que ce soit par fenêtre de dialogue ou par VBA :
-Si cela s'applique au classeur, la recherche se fait réellement dans tout
le classeur, pas seulement dans la zone sélectionnée
-Si cela s'applique à la feuille
-zone sélectionnée réduite à une cellule: la recherche se fait sur
toute la feuille (éventuellement tout le classeur)
-zone sélectionnée de plusieurs cellules : c'est le seul cas ou la
recherche/remplacement est limité à la sélection.
Je n'avais vu cela dans aucune doc...

Pour éviter le problème la prochaine fois, je voudrais bien savoir comment
forcer, par VBA, l'option rechercher/remplacer "Dans Feuille", au lieu de
"Dans Classeur"

Merci



Avatar
Géronte
"lSteph" a écrit dans le message de news:


"Géronte" a écrit dans le message de
news:
Bonjour

Je viens de m'arracher les cheveux qui me restaient en me battant
avec une macro VBA défaillante.

J'ai trouvé l'explication dans un fonctionnement bizarre de
"Rechercher" ou "Remplacer", que ce soit par fenêtre de dialogue ou
par VBA :
-Si cela s'applique au classeur, la recherche se fait réellement dans
tout le classeur, pas seulement dans la zone sélectionnée
-Si cela s'applique à la feuille
-zone sélectionnée réduite à une cellule: la recherche se fait sur
toute la feuille (éventuellement tout le classeur)
-zone sélectionnée de plusieurs cellules : c'est le seul cas ou la
recherche/remplacement est limité à la sélection.
Je n'avais vu cela dans aucune doc...

Pour éviter le problème la prochaine fois, je voudrais bien savoir
comment forcer, par VBA, l'option rechercher/remplacer "Dans
Feuille", au lieu de "Dans Classeur"

Merci

Bonsoir,

comment t'y prends-tu?

... lorsque je fais un rechercher remplacer depuis excel
ou par vba

Sub rrr()
[a1:j100].Replace "toto", "tata"
End Sub

cela ne s'applique qu'à la feuille active.

lSteph


Je suis parti de l'enregistrement d'un Replace fait à la main.
Selection.Replace What:=",", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
C'est pour supprimer les virgules séparateurs de milliers dans un
tableau récupéré sur une page Web.


Avatar
JB
C'est un pb connu (pour le . et la ,):

Versions 2000+:

Selection.Replace ",", ""

Toutes versions:

For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", "")
Next c

JB

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


"Géronte" a écrit dans le message de
news:
Bonjour

Je viens de m'arracher les cheveux qui me restaient en me battant
avec une macro VBA défaillante.

J'ai trouvé l'explication dans un fonctionnement bizarre de
"Rechercher" ou "Remplacer", que ce soit par fenêtre de dialogue ou
par VBA :
-Si cela s'applique au classeur, la recherche se fait réellement dans
tout le classeur, pas seulement dans la zone sélectionnée
-Si cela s'applique à la feuille
-zone sélectionnée réduite à une cellule: la recherche se f ait sur
toute la feuille (éventuellement tout le classeur)
-zone sélectionnée de plusieurs cellules : c'est le seul cas ou la
recherche/remplacement est limité à la sélection.
Je n'avais vu cela dans aucune doc...

Pour éviter le problème la prochaine fois, je voudrais bien savoir
comment forcer, par VBA, l'option rechercher/remplacer "Dans
Feuille", au lieu de "Dans Classeur"

Merci

Bonsoir,

comment t'y prends-tu?

... lorsque je fais un rechercher remplacer depuis excel
ou par vba

Sub rrr()
[a1:j100].Replace "toto", "tata"
End Sub

cela ne s'applique qu'à la feuille active.

lSteph


Je suis parti de l'enregistrement d'un Replace fait à la main.
Selection.Replace What:=",", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úls e, _
ReplaceFormat:úlse
C'est pour supprimer les virgules séparateurs de milliers dans un
tableau récupéré sur une page Web.




Avatar
Géronte
"JB" a écrit dans le message de news:


C'est un pb connu (pour le . et la ,):

Versions 2000+:

Selection.Replace ",", ""

Toutes versions:

For Each c In Selection
c.Value = Application.Substitute(c.Value, ",", "")
Next c

JB
___________________
Merci !
Cette solution ne pose pas de problème.
Et si c'est un pb connu, j'arrête de chercher une explication de mon
coté !