Bonjour à tous, je suis nouvellement inscrit pour soumettre un problème concernant l'utilisation d'Excel et du VBA, pour insérer dans une cellule précise une fonction grâce à une macro. Je suis plutôt débutant en matière de VBA. Pour automatiser certaines tâches dans un classeur xlsm, macros que j'ai créé. Je cherche à récupérer le texte d'une cellule E6 dans laquelle ce texte est obtenu par formule Concatener. J'ai donc pour ce faire essayer une nouvelle macro. Tout fonctionne, sauf le fait qu' ayant utilisé l'enregistreur de macros Excel, la formule écrite dans cette nouvelle macro reste figée, au niveau de la plage de recherche. (explication dans le fichier xlsx joint). Mon classeur me sert à inventorier des produits, et à chaque nouvel inventaire, j'ai besoin de récupérer les valeurs du mois précédent par rechercheV. Le problème, s'est qu'une colonne est créée tous les mois et cela fait donc changer la plage de recherche. La colonne E (fin de plage) devient F le mois suivant. Je pense qu'il doit être possible au lancement de la macro d'avoir une variable à saisir, qui permettrait de modifier la plage de recherche, et donc le numéro de colonne à retourner.
Voici le texte brut de cette macro "changement de mois"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub ChangM() ' ChangM Macro ' changer la plage de recherche ' Range("E6").Select Selection.Copy Range("J8").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],Precinvent!R2C1:R47C17,17,FALSE)" Range("J8").Select Selection.AutoFill Destination:=Range("J8:J67") Range("J8:J67").Select ActiveWindow.SmallScroll Down:=15 End Sub
Partager