Macro - Boucle formules droite / Recherchev

Bonjour,

Récemment inscrit sur le forum, je sollicite votre aide.

La période actuelle m'a donné le temps de me consacrer à l'optimisation des traitements de certains de mes fichiers excel.

Novice en programmation VBA, je souhaiterais optimiser certains traitements, notamment l'application de formules identiques sur un grand nombre de lignes (bases env 40 000 lignes suivants les mois - 25 colonnes).

Je joins un fichier dont les données sont représentatives de ma problématique.

Mon problème est le suivant:

Ces opérations font partie d'un ensemble d'opérations réalisées dans une macro.

Dans l'onglet "base", j'ai dans la colonne G différents numéros. De ces numéros de compte vont découler plusieurs opérations:

1- Dans le colonne H Je souhaite extraire les 8 caractères sur la droite de chaque numéro de la colonne G (ex: pour PA01/92360008, je conserve 92360008 - formule =droite(...)). Je répète cette opération pour les 40 000 lignes. Dans le cas présent, j'ai inscrit la formule dans la cellule H2 et je fais un copier-coller jusqu'à la fin

2- Dans la colonne I, j'effectue un rechercheV à partir des numéros extrait pour retrouver des données dans la colonne H. La table de recherche se trouve dans l'onglet "nat". Cette formule est recopiée sur toutes les cellules de la colonne I.

3- Dans la colonne J, j'effectue une autre recherche d'information à partir de la colonne H, et toujours en allant récupérer l'information dans une table de l'onglet "nat". Cette formule est recopiée sur toutes les cellules de la colonne J.

NB. A chaque fin d'opération, je fais un copier-coller valeur pour enlever les formules.

Pour des raisons pratiques et pour pouvoir les réutiliser, je souhaite dissocier chacune des trois opérations.

A l'aide du fichier joint, pourriez vous, m'aider à optimiser ces trois traitements à l'aide de boucles? je pourrais ainsi les décliner sur mes traitements.

Je vous remercie par avance pour aide précieuse.

Cordialement,

Bonjour,

à tester,

Sub test()
With Sheets("base")
 rw = .Cells(Rows.Count, "G").End(xlUp).Row
 For i = 3 To rw
    Cells(i, "H") = Right(.Cells(i, "G").Value, 8) * 1
    Cells(i, "I") = Evaluate("VLOOKUP(" & .Cells(i, "H").Value & ",nat!A2:H15,4,0)")
    Cells(i, "J") = Evaluate("VLOOKUP(" & .Cells(i, "H").Value & ",nat!A2:H15,8,0)")
 Next i
End With
End Sub
Rechercher des sujets similaires à "macro boucle formules droite recherchev"