Bonsoir à tous,
J'aurais besoin d'aide de grand connaisseurs VBA ! :D
J'ai créé une macro VBA qui me permet de récupérer deux colonnes d'un fichier Excel que je copie dans la feuille numéro d'affaire. Ma feuille tableau récupère les données d'un autre fichier Excel.
Dans ma feuille Tableau, la colonne n° d'affaire est déjà présente et j'ai ajouté la colonne Bureau associée. J'ai réalisé une boucle for pour pouvoir lire ma colonne n°affaire et ajouter la bonne valeur de la colonne Bureau correspondante.
Mon code est le suivant :
Sub Tableau()
Sheets("Numéro affaire").Activate
NbLignesSecu = Range("B65536").End(xlUp).Row
Dim yy, zz As Integer
Dim Nummarche, Numaffaire
Dim Bureau
For zz = 2 To NbLignesSecu
Nummarche = Range("B" & zz).Value
Sheets("Numéro affaire").Activate
For yy = 2 To 100
Numaffaire = Range("B" & yy).Value
If Nummarche = Numaffaire Then
Bureau = Range("A" & yy).Value
End If
Next yy
Sheets("Tableau").Activate
Range("A" & zz).Value = Bureau
Next zz
End Sub
Le code fonctionne très bien mais le problème est que dans mon fichier de base j'ai environ 15000 lignes ce qui rend la macro très longue !
Auriez-vous une astuce, une autre synthèse de code permettant de réaliser la même chose mais en rendant la macro beaucoup plus rapide ?
Je vous mets un fichier d'exemple en pièce jointe (celui-ci ne comporte que 10 lignes mais c'est pour montrer concrètement mes explications :) )
Bonne soirée et merci d'avance !