Sub remplacerSalles_Yeahou()
Heu_Deb = Timer
Dim Tablo, Tablo2, x&, y&
With Sheets("Salles")
Tablo = .Range("A2:B" & .Range("A65536").End(xlUp).Row).Value2 'on crée tablo à deux colonnes d'après les correspondances de valeurs à modifier
End With
With Sheets("tableau")
Tablo2 = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Value2 'on crée tablo2 à une colonne d'après les valeurs à modifier
End With
For x = LBound(Tablo2, 1) To UBound(Tablo2, 1) 'on boucle sur les valeurs
For y = LBound(Tablo, 1) To UBound(Tablo, 1) 'on boucle sur les correspondances
Tablo2(x, 1) = Replace(Tablo2(x, 1), Tablo(y, 1), Tablo(y, 2)) ' on remplace dans la valeur de Tablo2 la valeur de Tablo colonne 1 par la correspondance en Tablo colonne2
Next y
Next x
With Sheets("tableau")
.Range("B2:B" & .Range("A65536").End(xlUp).Row).Value = Tablo2 ' on met les valeurs en colonne B
End With
MsgBox "Fini en " & Temps_Ecoule, vbOKOnly + vbInformation
End Sub
Sub remplacerSalles_YeahouV2()
Heu_Deb = Timer
Dim Tablo, Tablo2, y&
With Sheets("Salles")
Tablo = .Range("A2:B" & .Range("A65536").End(xlUp).Row).Value2 'on crée tablo d'après les correspondances de valeurs à modifier
End With
With Sheets("tableau")
Tablo2 = Join(Application.Transpose(.Range("A2:A" & .Range("A65536").End(xlUp).Row).Value2), "|") 'on crée dans Tablo2 une chaine texte unique avec chaque valeur séparée par "|", transpose recréant un tableau vb attaquable avec Join
End With
For y = LBound(Tablo, 1) To UBound(Tablo, 1)
Tablo2 = Replace(Tablo2, Tablo(y, 1), Tablo(y, 2)) ' on boucle sur les correspondances de valeur en remplaçant dans la chaine Tablo2
Next y
With Sheets("tableau")
.Range("B2:B" & .Range("A65536").End(xlUp).Row).Value = Application.Transpose(Split(Tablo2, "|")) 'on rmet les valeurs en colonne B en coupant la chaine avec Split, le transpose recrée le tableau dimensionné comme à l'origine
End With
MsgBox "Fini en " & Temps_Ecoule, vbOKOnly + vbInformation
End Sub