D
daboss85
Guest
Bonjour à tous,
Je travail actuellement sur une macro permettant de récupérer des informations d'un onglet vers un autre pour enrichir une table de données. ci dessous le code que j'utilise :
While Feuil1.Cells(i, 2).Value <> ""
'remplissage de territoire
Feuil1.Cells(i, 3).FormulaR1C1 = "=VLOOKUP(RC[-1],données,2,FALSE)"
If WorksheetFunction.IsNA(Feuil1.Cells(i, 3)) = True Then
Rows(i).Delete
Else
Feuil1.Cells(i, 1).Value = "44"
Feuil1.Cells(i, 1).NumberFormat = "@"
Feuil1.Cells(i, 4).FormulaR1C1 = "=VLOOKUP(RC[-2],données,3,FALSE)"
Feuil1.Cells(i, 15).FormulaR1C1 = "=VLOOKUP(RC[-13],données,14,FALSE)"
Feuil1.Cells(i, 16).FormulaR1C1 = "=VLOOKUP(RC[-14],données,15,FALSE)"
Feuil1.Cells(i, 16).NumberFormat = "m/d/yyyy"
i = i + 1
End If
Wend
En gros, tant qu'il trouve une ligne avec de l'info, il recherche les données dans la table données, si pas d'info supression, si info récupération d'autres données.
Cette macro marche très bien pour des petit volume de données mais quand eje passe sur des tables plus importantes il mets un peu plus de 25 min pour éxécuter le programme. Quelqu'un connaitrait t'il un moyen d'effectuer la mise en place des recherchev en automatique sur toute une colonne.
Ou d'effectuer une suppression en masse sans passer les élément les un après les autres.
J'espère être suffisament clair.
Merci d'avance pour vos retours
Cordialement,
Je travail actuellement sur une macro permettant de récupérer des informations d'un onglet vers un autre pour enrichir une table de données. ci dessous le code que j'utilise :
While Feuil1.Cells(i, 2).Value <> ""
'remplissage de territoire
Feuil1.Cells(i, 3).FormulaR1C1 = "=VLOOKUP(RC[-1],données,2,FALSE)"
If WorksheetFunction.IsNA(Feuil1.Cells(i, 3)) = True Then
Rows(i).Delete
Else
Feuil1.Cells(i, 1).Value = "44"
Feuil1.Cells(i, 1).NumberFormat = "@"
Feuil1.Cells(i, 4).FormulaR1C1 = "=VLOOKUP(RC[-2],données,3,FALSE)"
Feuil1.Cells(i, 15).FormulaR1C1 = "=VLOOKUP(RC[-13],données,14,FALSE)"
Feuil1.Cells(i, 16).FormulaR1C1 = "=VLOOKUP(RC[-14],données,15,FALSE)"
Feuil1.Cells(i, 16).NumberFormat = "m/d/yyyy"
i = i + 1
End If
Wend
En gros, tant qu'il trouve une ligne avec de l'info, il recherche les données dans la table données, si pas d'info supression, si info récupération d'autres données.
Cette macro marche très bien pour des petit volume de données mais quand eje passe sur des tables plus importantes il mets un peu plus de 25 min pour éxécuter le programme. Quelqu'un connaitrait t'il un moyen d'effectuer la mise en place des recherchev en automatique sur toute une colonne.
Ou d'effectuer une suppression en masse sans passer les élément les un après les autres.
J'espère être suffisament clair.
Merci d'avance pour vos retours
Cordialement,