Bonjour à tous
Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours,
une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela :
Cells.Replace What:="technique", Replacement:="tech", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False
Cela fonctionne mais c'est assez lent, et lourd.
Y aurait-il moyen de faire plus rapide, un array serait-il une solution
et comment?
Bonjour à tous Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours, une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela : Cells.Replace What:="technique", Replacement:="tech", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd. Y aurait-il moyen de faire plus rapide, un array serait-il une solution et comment?
Merci @+ J@@
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse. Pour la vitesse, avant les remplacements, il faut mettre Application.ScreenUpdating = False pour figer l'affichage, puis après les remplacements, il faut réactiver l'affichage avec Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer Dim A()
'Array des valeurs A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _ "ValeurARemplacer2", "ValeurDeRemplacement2", _ "ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé 'boucle de remplacement For I = 0 To UBound(A) Step 2 Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse Next I Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la boucle et en n'utilisant que A(I).
Bons tests, Jex.
On 30 août, 04:15, "J@@" <k...@hy.gg> wrote:
Bonjour à tous
Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours,
une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela :
Cells.Replace What:="technique", Replacement:="tech", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False
Cela fonctionne mais c'est assez lent, et lourd.
Y aurait-il moyen de faire plus rapide, un array serait-il une solution
et comment?
Merci
@+
J@@
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse.
Pour la vitesse, avant les remplacements, il faut mettre
Application.ScreenUpdating = False
pour figer l'affichage, puis après les remplacements, il faut
réactiver l'affichage avec
Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer
Dim A()
'Array des valeurs
A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _
"ValeurARemplacer2", "ValeurDeRemplacement2", _
"ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé
'boucle de remplacement
For I = 0 To UBound(A) Step 2
Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False
Next I
Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la
boucle et en n'utilisant que A(I).
Bonjour à tous Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours, une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela : Cells.Replace What:="technique", Replacement:="tech", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd. Y aurait-il moyen de faire plus rapide, un array serait-il une solution et comment?
Merci @+ J@@
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse. Pour la vitesse, avant les remplacements, il faut mettre Application.ScreenUpdating = False pour figer l'affichage, puis après les remplacements, il faut réactiver l'affichage avec Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer Dim A()
'Array des valeurs A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _ "ValeurARemplacer2", "ValeurDeRemplacement2", _ "ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé 'boucle de remplacement For I = 0 To UBound(A) Step 2 Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse Next I Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la boucle et en n'utilisant que A(I).
Bons tests, Jex.
J
bonjour et merci pour les idées. Je vais m'y atteler
Application.ScreenUpdating déjà fait
Cordialement J@@
Le 29/08/2010 23:41, Jex a écrit :
On 30 août, 04:15, "J@@" wrote:
Bonjour à tous Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours, une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela : Cells.Replace What:="technique", Replacement:="tech", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd. Y aurait-il moyen de faire plus rapide, un array serait-il une solution et comment?
Merci @+ J@@
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse. Pour la vitesse, avant les remplacements, il faut mettre Application.ScreenUpdating = False pour figer l'affichage, puis après les remplacements, il faut réactiver l'affichage avec Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer Dim A()
'Array des valeurs A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _ "ValeurARemplacer2", "ValeurDeRemplacement2", _ "ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé 'boucle de remplacement For I = 0 To UBound(A) Step 2 Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse Next I Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la boucle et en n'utilisant que A(I).
Bons tests, Jex.
bonjour et merci pour les idées.
Je vais m'y atteler
Application.ScreenUpdating déjà fait
Cordialement
J@@
Le 29/08/2010 23:41, Jex a écrit :
On 30 août, 04:15, "J@@"<k...@hy.gg> wrote:
Bonjour à tous
Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours,
une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela :
Cells.Replace What:="technique", Replacement:="tech", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd.
Y aurait-il moyen de faire plus rapide, un array serait-il une solution
et comment?
Merci
@+
J@@
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse.
Pour la vitesse, avant les remplacements, il faut mettre
Application.ScreenUpdating = False
pour figer l'affichage, puis après les remplacements, il faut
réactiver l'affichage avec
Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer
Dim A()
'Array des valeurs
A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _
"ValeurARemplacer2", "ValeurDeRemplacement2", _
"ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé
'boucle de remplacement
For I = 0 To UBound(A) Step 2
Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Next I
Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la
boucle et en n'utilisant que A(I).
bonjour et merci pour les idées. Je vais m'y atteler
Application.ScreenUpdating déjà fait
Cordialement J@@
Le 29/08/2010 23:41, Jex a écrit :
On 30 août, 04:15, "J@@" wrote:
Bonjour à tous Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours, une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela : Cells.Replace What:="technique", Replacement:="tech", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd. Y aurait-il moyen de faire plus rapide, un array serait-il une solution et comment?
Merci @+ J@@
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse. Pour la vitesse, avant les remplacements, il faut mettre Application.ScreenUpdating = False pour figer l'affichage, puis après les remplacements, il faut réactiver l'affichage avec Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer Dim A()
'Array des valeurs A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _ "ValeurARemplacer2", "ValeurDeRemplacement2", _ "ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé 'boucle de remplacement For I = 0 To UBound(A) Step 2 Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse Next I Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la boucle et en n'utilisant que A(I).
Bons tests, Jex.
J
Impeccable, Jex cela a bien allégé mon code. Merci @+ J@@
Le 29/08/2010 23:41, Jex a écrit :
On 30 août, 04:15, "J@@"
Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours, une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela : Cells.Replace What:="technique", Replacement:="tech", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd. Y aurait-il moyen de faire plus rapide, un array serait-il une solution et comment?
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse. Pour la vitesse, avant les remplacements, il faut mettre Application.ScreenUpdating = False pour figer l'affichage, puis après les remplacements, il faut réactiver l'affichage avec Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer Dim A()
'Array des valeurs A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _ "ValeurARemplacer2", "ValeurDeRemplacement2", _ "ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé 'boucle de remplacement For I = 0 To UBound(A) Step 2 Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse Next I Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la boucle et en n'utilisant que A(I).
Bons tests, Jex.
Impeccable, Jex
cela a bien allégé mon code.
Merci @+
J@@
Le 29/08/2010 23:41, Jex a écrit :
On 30 août, 04:15, "J@@"
Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours,
une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela :
Cells.Replace What:="technique", Replacement:="tech", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd.
Y aurait-il moyen de faire plus rapide, un array serait-il une solution
et comment?
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse.
Pour la vitesse, avant les remplacements, il faut mettre
Application.ScreenUpdating = False
pour figer l'affichage, puis après les remplacements, il faut
réactiver l'affichage avec
Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer
Dim A()
'Array des valeurs
A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _
"ValeurARemplacer2", "ValeurDeRemplacement2", _
"ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé
'boucle de remplacement
For I = 0 To UBound(A) Step 2
Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Next I
Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la
boucle et en n'utilisant que A(I).
Impeccable, Jex cela a bien allégé mon code. Merci @+ J@@
Le 29/08/2010 23:41, Jex a écrit :
On 30 août, 04:15, "J@@"
Sur une page de AR colonnes, 1200 lignes, je dois faire (tous les jours, une feuille semblable mais nouvelle) un remplacement de pleins de mots.
Je le fais comme cela : Cells.Replace What:="technique", Replacement:="tech", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse
Cela fonctionne mais c'est assez lent, et lourd. Y aurait-il moyen de faire plus rapide, un array serait-il une solution et comment?
Bonjour,
un array peut faciliter l'écriture du code, mais pas la vitesse. Pour la vitesse, avant les remplacements, il faut mettre Application.ScreenUpdating = False pour figer l'affichage, puis après les remplacements, il faut réactiver l'affichage avec Application.ScreenUpdating = True
Pour un code avec Array, vous pouvez adapter ceci :
Dim I As Integer Dim A()
'Array des valeurs A = Array(ValeurARemplacer1", "ValeurDeRemplacement1", _ "ValeurARemplacer2", "ValeurDeRemplacement2", _ "ValeurARemplacer3", "ValeurDeRemplacement3")
Application.ScreenUpdating = False 'figé 'boucle de remplacement For I = 0 To UBound(A) Step 2 Cells.Replace What:=A(I), Replacement:=A(I + 1), LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:úlse Next I Application.ScreenUpdating = True
Idem pour vos questions sur les colonnes, en supprimant "Step 2" de la boucle et en n'utilisant que A(I).