Bonjour tout le monde,
Je suis totalement nouveau, aussi bien dans le VBA que sur le forum
Je cherche à améliorer une petite macro toute simple qui colle une formule "rechercheV" dans une cellule. Le but serait qu'elle colle successivement la formule dans les 200 colonnes suivantes mais en faisant varier une variable située d'abord en P5, puis en Q5, R5 et ainsi de suite
La différence avec le "tirer la formule" par le coin sur la grille est que le recherche V appelle un autre classeur (a chaque répétition) situé dans un dossier nommé dans la formule et que la fonction indirect() ne peut pas être utilisée pour faire varier ce chemin (car les classeurs doivent être ouvert pour la fonction indirect, et le but est d'éviter d'ouvrir 200 classeur à chaque MAJ)
alors voici actuellement le code qui pose la formule dans la case P7 :
Sub test()
Dim CheminComplet As String, NomClasseur As String, Plage As String, NomFeuil As String, Chemin As String
Plage = "$A$12:$B$200" '<-- plage de recherche
NomFeuil = "LP'!" '<-- nom de la feuille, ne pas oublier la simple cote avant le !
NomClasseur = Range("P5") & ".xlsm" '<-- nom du classeur contenu dans la cellule E1
Chemin = "'c:\Document\" '<-- emplacement sur le disque dur,
CheminComplet = Chemin & "[" & NomClasseur & "]" & NomFeuil & Plage
Range("P7").FormulaLocal = "=SIERREUR(RECHERCHEV($H7;" & CheminComplet & ";2;FAUX)*P$6;0)"
End Sub
Vous pouvez trouver le code dans le Excel simplifié joint. Donc le but serait d'ajouter une boucle afin de poser successivement la formule en P7, Q7, R7 ... (200 fois), tout en ayant :
- une évolution de la variable "nomClasseur" qui verrait sa composante P5 devenir Q5 puis R5 etc
- une évolution de la variable P6 qui deviendrait Q6, R6 ... etc
Merci d'avance pour ceux qui y réfléchiront ! Je prends aussi les conseils