Voilà mon problème :
Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne
(A) "RESEAU".
En VBA, je voudrais savoir comment faire pour qu'à chaque mot
"VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01"
soit mis automatiquement dans la colonne "RESEAU".
Quelqu'un pourrait-il m'aider ???
Merci d'avance à ceux qui répondront.
A+
Catherine
Voilà mon problème : Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne (A) "RESEAU". En VBA, je voudrais savoir comment faire pour qu'à chaque mot "VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01" soit mis automatiquement dans la colonne "RESEAU".
Quelqu'un pourrait-il m'aider ???
Merci d'avance à ceux qui répondront. A+ Catherine
Bonjour/soir,
tu peux essayer ceci:
Dim xlWkSt As Excel.WorkSheet
Set xlWkSt = ActiveWorkSheets(1) 'Feuille active
Dim LastCell As Excel.Range
Set LastCell = xlWkSt.Cells.SpecialCells(xlCellTypeLastCell)
Dim i As Long
For i = 1 To LastCell.Row
If Instr(1, uCase$(xlWkSt.Cells(i, 6).Text), "VIETNAM") Then
xlWkSt.Cells(i, 1).FormulaR1C1="1"
End If
Next i
"Medinlu" <catherine.soranzo@wanadoo.fr> a écrit dans le message de
news:efa05388.0308250150.233a063c@posting.google.com
Bonjour à tous,
Voilà mon problème :
Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne
(A) "RESEAU".
En VBA, je voudrais savoir comment faire pour qu'à chaque mot
"VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01"
soit mis automatiquement dans la colonne "RESEAU".
Quelqu'un pourrait-il m'aider ???
Merci d'avance à ceux qui répondront.
A+
Catherine
Voilà mon problème : Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne (A) "RESEAU". En VBA, je voudrais savoir comment faire pour qu'à chaque mot "VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01" soit mis automatiquement dans la colonne "RESEAU".
Quelqu'un pourrait-il m'aider ???
Merci d'avance à ceux qui répondront. A+ Catherine
ng
Bjour,
If Instr(1, uCase$(xlWkSt.Cells(i, 6).Text), "VIETNAM") Then
Un "If uCase$(xlWkSt.Cells(i, 6).Text like "*VIETNAM*" Then" ne serait-il pas plus rapide ?
Nicolas.
"François Picalausa" a écrit dans le message de news:
Bonjour/soir,
tu peux essayer ceci: Dim xlWkSt As Excel.WorkSheet
Set xlWkSt = ActiveWorkSheets(1) 'Feuille active
Dim LastCell As Excel.Range Set LastCell = xlWkSt.Cells.SpecialCells(xlCellTypeLastCell)
Dim i As Long
For i = 1 To LastCell.Row If Instr(1, uCase$(xlWkSt.Cells(i, 6).Text), "VIETNAM") Then xlWkSt.Cells(i, 1).FormulaR1C1="1" End If Next i
"Medinlu" a écrit dans le message de news: > Bonjour à tous, > > Voilà mon problème : > Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne > (A) "RESEAU". > En VBA, je voudrais savoir comment faire pour qu'à chaque mot > "VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01" > soit mis automatiquement dans la colonne "RESEAU". > > Quelqu'un pourrait-il m'aider ??? > > Merci d'avance à ceux qui répondront. > A+ > Catherine
Bjour,
If Instr(1, uCase$(xlWkSt.Cells(i, 6).Text), "VIETNAM") Then
Un "If uCase$(xlWkSt.Cells(i, 6).Text like "*VIETNAM*" Then" ne serait-il
pas plus rapide ?
Nicolas.
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de news:
eV6hwAvaDHA.1280@tk2msftngp13.phx.gbl...
Bonjour/soir,
tu peux essayer ceci:
Dim xlWkSt As Excel.WorkSheet
Set xlWkSt = ActiveWorkSheets(1) 'Feuille active
Dim LastCell As Excel.Range
Set LastCell = xlWkSt.Cells.SpecialCells(xlCellTypeLastCell)
Dim i As Long
For i = 1 To LastCell.Row
If Instr(1, uCase$(xlWkSt.Cells(i, 6).Text), "VIETNAM") Then
xlWkSt.Cells(i, 1).FormulaR1C1="1"
End If
Next i
"Medinlu" <catherine.soranzo@wanadoo.fr> a écrit dans le message de
news:efa05388.0308250150.233a063c@posting.google.com
> Bonjour à tous,
>
> Voilà mon problème :
> Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne
> (A) "RESEAU".
> En VBA, je voudrais savoir comment faire pour qu'à chaque mot
> "VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01"
> soit mis automatiquement dans la colonne "RESEAU".
>
> Quelqu'un pourrait-il m'aider ???
>
> Merci d'avance à ceux qui répondront.
> A+
> Catherine
"Medinlu" a écrit dans le message de news: > Bonjour à tous, > > Voilà mon problème : > Dans un fichier excel(97), j'ai une colonne (F) "PAYS" et une colonne > (A) "RESEAU". > En VBA, je voudrais savoir comment faire pour qu'à chaque mot > "VIETNAM" ou "HONG-KONG" trouvé dans la colonne "PAYS", le code "01" > soit mis automatiquement dans la colonne "RESEAU". > > Quelqu'un pourrait-il m'aider ??? > > Merci d'avance à ceux qui répondront. > A+ > Catherine
Sub Main() Const LOOPS As Long = 5000 Const SomeText1 As String = "vIeTNaM" Const SomeText2 As String = "/2ù$^6dsdvVIETNAMqscqcsd$^$ù$6dc" Const SomeText3 As String = " VINAM "
Dim tloop As Long Dim i As Long Dim t1 As Long Dim t2 As Long Dim t3 As Long Dim t4 As Long Dim Stopwatch As CStopWatch
Set Stopwatch = New CStopWatch
Stopwatch.Reset For i = 1 To LOOPS Next i tloop = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareLike SomeText1 CompareLike SomeText2 CompareLike SomeText3 Next i t1 = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareInstrBin SomeText1 CompareInstrBin SomeText2 CompareInstrBin SomeText3 Next i t2 = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareInstrTxt SomeText1 CompareInstrTxt SomeText2 CompareInstrTxt SomeText3 Next i t3 = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareLike2 SomeText1 CompareLike2 SomeText2 CompareLike2 SomeText3 Next i t4 = Stopwatch.Elapsed
Donc, surtout, ne pas utiliser Instr en mode de comparaison vbTextCompare Sinon, Inst en comparaison binarie est légèrement plus rapide (ça varie entre 1 et 2 millisecondes sur tous mes test)
et sur 500000 boucles, j'obtiens: Loop : 5 Like : 2617 InstrBin : 2512 InstrText : 5130 Like2 : 3200
Donc, il faut comment à faire de l'utilisation très très très intensive pour voir la différence. (sous VB, en mode debug, les résultats sont les mêmes à peu de choses près)
Sub Main()
Const LOOPS As Long = 5000
Const SomeText1 As String = "vIeTNaM"
Const SomeText2 As String = "/2ù$^6dsdvVIETNAMqscqcsd$^$ù$6dc"
Const SomeText3 As String = " VINAM "
Dim tloop As Long
Dim i As Long
Dim t1 As Long
Dim t2 As Long
Dim t3 As Long
Dim t4 As Long
Dim Stopwatch As CStopWatch
Set Stopwatch = New CStopWatch
Stopwatch.Reset
For i = 1 To LOOPS
Next i
tloop = Stopwatch.Elapsed
Stopwatch.Reset
For i = 1 To LOOPS
CompareLike SomeText1
CompareLike SomeText2
CompareLike SomeText3
Next i
t1 = Stopwatch.Elapsed
Stopwatch.Reset
For i = 1 To LOOPS
CompareInstrBin SomeText1
CompareInstrBin SomeText2
CompareInstrBin SomeText3
Next i
t2 = Stopwatch.Elapsed
Stopwatch.Reset
For i = 1 To LOOPS
CompareInstrTxt SomeText1
CompareInstrTxt SomeText2
CompareInstrTxt SomeText3
Next i
t3 = Stopwatch.Elapsed
Stopwatch.Reset
For i = 1 To LOOPS
CompareLike2 SomeText1
CompareLike2 SomeText2
CompareLike2 SomeText3
Next i
t4 = Stopwatch.Elapsed
Donc, surtout, ne pas utiliser Instr en mode de comparaison vbTextCompare
Sinon, Inst en comparaison binarie est légèrement plus rapide (ça varie
entre 1 et 2 millisecondes sur tous mes test)
et sur 500000 boucles, j'obtiens:
Loop : 5
Like : 2617
InstrBin : 2512
InstrText : 5130
Like2 : 3200
Donc, il faut comment à faire de l'utilisation très très très intensive pour
voir la différence.
(sous VB, en mode debug, les résultats sont les mêmes à peu de choses près)
Sub Main() Const LOOPS As Long = 5000 Const SomeText1 As String = "vIeTNaM" Const SomeText2 As String = "/2ù$^6dsdvVIETNAMqscqcsd$^$ù$6dc" Const SomeText3 As String = " VINAM "
Dim tloop As Long Dim i As Long Dim t1 As Long Dim t2 As Long Dim t3 As Long Dim t4 As Long Dim Stopwatch As CStopWatch
Set Stopwatch = New CStopWatch
Stopwatch.Reset For i = 1 To LOOPS Next i tloop = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareLike SomeText1 CompareLike SomeText2 CompareLike SomeText3 Next i t1 = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareInstrBin SomeText1 CompareInstrBin SomeText2 CompareInstrBin SomeText3 Next i t2 = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareInstrTxt SomeText1 CompareInstrTxt SomeText2 CompareInstrTxt SomeText3 Next i t3 = Stopwatch.Elapsed
Stopwatch.Reset For i = 1 To LOOPS CompareLike2 SomeText1 CompareLike2 SomeText2 CompareLike2 SomeText3 Next i t4 = Stopwatch.Elapsed
Donc, surtout, ne pas utiliser Instr en mode de comparaison vbTextCompare Sinon, Inst en comparaison binarie est légèrement plus rapide (ça varie entre 1 et 2 millisecondes sur tous mes test)
et sur 500000 boucles, j'obtiens: Loop : 5 Like : 2617 InstrBin : 2512 InstrText : 5130 Like2 : 3200
Donc, il faut comment à faire de l'utilisation très très très intensive pour voir la différence. (sous VB, en mode debug, les résultats sont les mêmes à peu de choses près)