Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand même :
|
|
|
|
|
|
Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble très
efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères merdeux
à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand même :
|
|
|
|
|
|
Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de discussion :
euIRLlF6KHA.348@TK2MSFTNGP02.phx.gbl...
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble très
efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères merdeux
à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23ALZWD95KHA.892@TK2MSFTNGP06.phx.gbl...
Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" <doclaude@free.fr> a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$426a74cc@news.free.fr...
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand même :
|
|
|
|
|
|
Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble très
efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères merdeux
à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand même :
|
|
|
|
|
|
Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille
de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble très
efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères merdeux
à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand même :
|
|
|
|
|
|
Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille
de
calcul spécifiée. EN LECTURE SEULE.
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de discussion :
euIRLlF6KHA.348@TK2MSFTNGP02.phx.gbl...
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble très
efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères merdeux
à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23ALZWD95KHA.892@TK2MSFTNGP06.phx.gbl...
Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" <doclaude@free.fr> a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$426a74cc@news.free.fr...
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand même :
|
|
|
|
|
|
Cette propriété renvoie un objet Range qui représente la plage utilisée dans la feuille
de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble très
efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères merdeux
à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée dans
la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : OSvVZUH6KHA.5476@TK2MSFTNGP06.phx.gbl...
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée dans
la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : euIRLlF6KHA.348@TK2MSFTNGP02.phx.gbl...
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23ALZWD95KHA.892@TK2MSFTNGP06.phx.gbl...
Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" <doclaude@free.fr> a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$426a74cc@news.free.fr...
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée dans
la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Regarde ligne 23 : il y a une cellule commençant par "@, ça n'a pas
l'air de plaire à Excel.
Danielbonjour
voici le lien avec les quelques lignes
http://www.cijoint.fr/cjlink.php?file=cj201004/cijE9866Rs.xls
merci d'avance
"Misange" a écrit dans le message de
news:tu traites combien de lignes ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les
colle dans une autre feuille, la même procédure de nettoyage nettoie
correctement ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de
news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de
news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que
ton espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des ""
ont disparu : j'élimine le reste avec ma macro de nettoyage
(remplacer les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ")
par un "_" dans une cellule et le "replace" ne fait rien (la
ligne de code - ActiveCell.Replace What:=" ", Replacement:="_" -
a toujours bien marché jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de
news:Bonjour.
Poste le code que tu as écrit et si possible, la partie
intéressante de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface
jusqu'à la ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et
que je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Regarde ligne 23 : il y a une cellule commençant par "@, ça n'a pas
l'air de plaire à Excel.
Daniel
bonjour
voici le lien avec les quelques lignes
http://www.cijoint.fr/cjlink.php?file=cj201004/cijE9866Rs.xls
merci d'avance
"Misange" <misange@monsiteprefere.net> a écrit dans le message de
news: ewSmjt95KHA.3804@TK2MSFTNGP05.phx.gbl...
tu traites combien de lignes ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les
colle dans une autre feuille, la même procédure de nettoyage nettoie
correctement ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de
news: eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de
news: OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que
ton espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des ""
ont disparu : j'élimine le reste avec ma macro de nettoyage
(remplacer les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ")
par un "_" dans une cellule et le "replace" ne fait rien (la
ligne de code - ActiveCell.Replace What:=" ", Replacement:="_" -
a toujours bien marché jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie
intéressante de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface
jusqu'à la ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et
que je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Regarde ligne 23 : il y a une cellule commençant par "@, ça n'a pas
l'air de plaire à Excel.
Danielbonjour
voici le lien avec les quelques lignes
http://www.cijoint.fr/cjlink.php?file=cj201004/cijE9866Rs.xls
merci d'avance
"Misange" a écrit dans le message de
news:tu traites combien de lignes ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les
colle dans une autre feuille, la même procédure de nettoyage nettoie
correctement ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de
news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de
news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que
ton espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des ""
ont disparu : j'élimine le reste avec ma macro de nettoyage
(remplacer les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ")
par un "_" dans une cellule et le "replace" ne fait rien (la
ligne de code - ActiveCell.Replace What:=" ", Replacement:="_" -
a toujours bien marché jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de
news:Bonjour.
Poste le code que tu as écrit et si possible, la partie
intéressante de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface
jusqu'à la ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et
que je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée dans
la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : OSvVZUH6KHA.5476@TK2MSFTNGP06.phx.gbl...
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée dans
la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : euIRLlF6KHA.348@TK2MSFTNGP02.phx.gbl...
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23ALZWD95KHA.892@TK2MSFTNGP06.phx.gbl...
Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" <doclaude@free.fr> a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$426a74cc@news.free.fr...
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée dans
la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement ces
lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais quand
on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer les
"""" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Merci Daniel.
Mais la question demeure... qu'est-ce que ce caractère "@" a de spécial
pour arrêter l'exécution de la procédure ? Si on efface ce caractère
seulement, il n'y a plus de problème.
"Daniel.C" a écrit dans le message de groupe de
discussion :
Le tout est d'effacer F23...
DanielMais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement
ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer
les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de
news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que
je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Merci Daniel.
Mais la question demeure... qu'est-ce que ce caractère "@" a de spécial
pour arrêter l'exécution de la procédure ? Si on efface ce caractère
seulement, il n'y a plus de problème.
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe de
discussion : eJEctjH6KHA.420@TK2MSFTNGP02.phx.gbl...
Le tout est d'effacer F23...
Daniel
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : OSvVZUH6KHA.5476@TK2MSFTNGP06.phx.gbl...
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : euIRLlF6KHA.348@TK2MSFTNGP02.phx.gbl...
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23ALZWD95KHA.892@TK2MSFTNGP06.phx.gbl...
Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" <doclaude@free.fr> a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$426a74cc@news.free.fr...
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement
ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer
les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que
je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Merci Daniel.
Mais la question demeure... qu'est-ce que ce caractère "@" a de spécial
pour arrêter l'exécution de la procédure ? Si on efface ce caractère
seulement, il n'y a plus de problème.
"Daniel.C" a écrit dans le message de groupe de
discussion :
Le tout est d'effacer F23...
DanielMais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement
ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer
les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de
news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que
je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Merci Daniel.
Mais la question demeure... qu'est-ce que ce caractère "@" a de spécial
pour arrêter l'exécution de la procédure ? Si on efface ce caractère
seulement, il n'y a plus de problème.
"Daniel.C" a écrit dans le message de groupe de
discussion :
Le tout est d'effacer F23...
DanielMais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement
ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer
les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de
news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que
je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Merci Daniel.
Mais la question demeure... qu'est-ce que ce caractère "@" a de spécial
pour arrêter l'exécution de la procédure ? Si on efface ce caractère
seulement, il n'y a plus de problème.
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe de
discussion : eJEctjH6KHA.420@TK2MSFTNGP02.phx.gbl...
Le tout est d'effacer F23...
Daniel
Mais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : OSvVZUH6KHA.5476@TK2MSFTNGP06.phx.gbl...
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :
Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" <misange@monsiteprefere.net> a écrit dans le message de groupe de
discussion : euIRLlF6KHA.348@TK2MSFTNGP02.phx.gbl...
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23ALZWD95KHA.892@TK2MSFTNGP06.phx.gbl...
Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" <doclaude@free.fr> a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$426a74cc@news.free.fr...
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement
ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
eEDzGy75KHA.5808@TK2MSFTNGP02.phx.gbl...
moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :
merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" <misange@monsiteprefere.net> a écrit dans le message de news:
OVcSlp75KHA.420@TK2MSFTNGP02.phx.gbl...
bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :
bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer
les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: eT1NOQ75KHA.3292@TK2MSFTNGP06.phx.gbl...
Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Daniel
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que
je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
Merci Daniel.
Mais la question demeure... qu'est-ce que ce caractère "@" a de spécial
pour arrêter l'exécution de la procédure ? Si on efface ce caractère
seulement, il n'y a plus de problème.
"Daniel.C" a écrit dans le message de groupe de
discussion :
Le tout est d'effacer F23...
DanielMais ma réponse l'est beaucoup moins... (elle est erronnée - honte à moi)
En y regardant de plus près :
Si je prends ta procédure et que je veuille traiter la totalité de
la feuille, en modifiant seulement la plage Range("B24:R200")
qui représente le départ de la première cellule contenant des "
par Range("A1:R200") , rien ne se produit.
Est-ce que tu as une explication ? Cette fois, je n'ai pas de réponse !
Elle ne pourra pas être fausse... ;-)
'--------------------------------
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("A1:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
'--------------------------------
La seule procédure qui fonctionne est celle que j'ai présentée :
qui permet de définir la totalité de la plage de cellules et de
la traiter dans son ensemble.
'---------------------------------
Sub test3()
Dim C As Range
Application.ScreenUpdating = False
For Each C In Feuil1.UsedRange.SpecialCells(xlCellTypeConstants)
C.Value = Application.Substitute(C.Value, """", "")
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------
"Misange" a écrit dans le message de groupe de
discussion :
La question est effectivement excellente. Je dois dire que je n'y aurais
pas pensé !
Misange migrateuse
http://www.excelabo.net
michdenis a écrit :Bonjour Misange,
Une question à 2 cents ;-)
Pourquoi lorsque l'on utilise "usedrange" dans la procédure "test1"
ça ne fonctionne pas... par contre si on définit une plage de cellules
comme en "test2", ça roule ?
(En passant, M. Claude laissait entendre que cette suggestion faite hier
ne fonctionnait pas...) On devrait le mettre à l'amende....! ;-)))))
'--------------------------
Sub test1()
Worksheets("Commandes_test").UsedRange.Replace """", "", xlPart
End Sub
'--------------------------
Sub test2()
Worksheets("Commandes_test").Range("B:B").Replace """", "", xlPart
End Sub
'--------------------------
Réponse plus bas : Comme je trouve ma question bonne ;-)) je la poste quand
même :
Cette propriété renvoie un objet Range qui représente la plage utilisée
dans la feuille de
calcul spécifiée. EN LECTURE SEULE.
"Misange" a écrit dans le message de groupe de
discussion :
et pourtant chez moi ceci
Sub test()
Dim MonRange As Range
Dim Mot As String
Mot = Chr(34)
Set MonRange = Range("B24:R200")
MonRange.Replace What:=Mot, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
End Sub
enlève bien tout ce qui déborde.
Mais si je comprends bien, chez toi au début ça marche et puis ça
coince. Est-ce que tu aurais atteint les capacités de traitement de ta
machine ? Si tu passes la macro en plusieurs fois (en ajustant le range
par exemple) est-ce que cela fonctionne ?
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonsoir
merci de ton aide mais ... rien
j'ai essayé les caractères asccii : chr(160), chr(32), le chr(34 semble
très efficace
tous les replace en donnent rien
J'ai 4500 lignes environ
je nettoie le 3300 premières, mais j'ai toujours tous mes caractères
merdeux à partir de la ligne 3307
j'ai fait un fichier avec quelques lignes correctes et une centaine de
lignes merdeuses
mais je sais pas comment le faire passer sur le forum
merci d'avance
claude
"michdenis" a écrit dans le message de news:
%Bonjour,
Tu as essayé quelque chose comme :
Tu adaptes le nom de la feuille et l'étendue
de ta plage de cellules.
Il est pris pour acquis que tes cellules contiennent des ""
qui ne sont pas le résultat d'une formule.
'---------------------
Sub test()
Worksheets("Feuil1").Range("B:B").Replace """", "", xlPart
End Sub
'---------------------
"claude" a écrit dans le message de groupe de
discussion :
4bd9d893$0$15517$
bonoisr
j'ai tout essayé, pour effcer emes guillemets et mes >>>>> les chr 32,34,160,
çà s'arrête toujours à la ligne 3307 du fichier
si je coupe les lignes merdeuses (à partir de 3307) et que je les colle
dans
une autre feuille, la même procédure de nettoyage nettoie correctement
ces lignes, qui du coup ne sont plus merdeuses ...
comprenne qui pourra
moi je ne peux pas
Misange : help !
;-)))
claude
"Misange" a écrit dans le message de news:moi non, pas d'idée géniale mais eux oui :-)
http://www.excelabo.net/trucs/caractere_invisible
http://www.excelabo.net/trucs/caracteresindesirables
http://www.excelabo.net/trucs/epurage
Misange migrateuse
http://www.excelabo.net
claude a écrit :merci Misange
extraordinaire !!!
j'ai aussi des caractères invisibles : la colonne paraît vide mais
quand on clique sur une cellule, elle contient :
=""
zarbi, non ?
tu n'aurais pas une idée ô géniale Misange ?
:-))
claude
"Misange" a écrit dans le message de news:bonjour
mais non ce n'est pas ton replace qui est vérolé c'est juste que ton
espace n'est pas un espace normal mais un chr(160)
http://www.excelabo.net/trucs/faux_espaces
Misange migrateuse
http://www.excelabo.net
claude a écrit :bonjour et merci
en fait c'est la fonction replace qui me joue des tours
un générateur d'état de CEGID me sort un fichier texte bourré de ""
je viens simplement de le renommer en csv, et la plupart des "" ont
disparu : j'élimine le reste avec ma macro de nettoyage (remplacer
les """" par rien (""))
bon ceci dit, plus loin j'essaye de remplacer un espace (" ") par un
"_" dans une cellule et le "replace" ne fait rien (la ligne de code -
ActiveCell.Replace What:=" ", Replacement:="_" - a toujours bien
marché
jusqu'à maintenant ...)
cette fonction replace contiendrait elle un piège, ou est-ce mon
fichier issu du générateur d'état qui est vérolé ?
merci d'avance
claude
"Daniel.C" a écrit dans le message de
news:Bonjour.
Poste le code que tu as écrit et si possible, la partie intéressante
de ton fichier sur www.cijoint.fr.
Cordialement.
Danielbonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à
la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que
je recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude
bonjour à tous
je transforme un fichier texte qui comporte des ""
j'ai créé quelques ligne spour éliminer ces "" intempsstifs
çà marche
mais je me trouve avec un fichier sur lequel tout s'efface jusqu'à la
ligne 3305
à partir de cette ligne tous les guillemets sont conservés
si je sélectionne la zone dans laquelle se trouvent les "" et que je
recherche les "" (Ctrl +F), excel n'en trouve aucun
bizarre bizarre
????
je suis perplexe
si quelqu'un a une idée ...
;-))
claude