Bonjour,
Je suis nouveau sur le forum. Merci de votre accueil
Je suis un grand débutant en VBA, je sollicite donc votre aide.
J'explique mon problème : Je dois dans le cadre de mon stage proposer une fichier excel permettant de simplifier une procédure de copier coller fastidieuse. J'utilise un logiciel qui exporte directement les données sous forme d'un tableau excel. Je dois ensuite récupérer les données contenues dans le tableau excel pour ensuite les coller dans un autre fichier mis en forme proprement.
J'ai ainsi dans le fichier excel source plusieurs onglets DnT 01, DnT 02 DnT 03, etc. Dans le fichier dans lequel je dois coller les données, il y a là aussi plusieurs onglets, de nom IAH1, IAH2, IAH3, etc.
J'ai fait déjà un petit code qui fonctionne, mais les noms de la feuille source et de la feuille cible sont inscrits en dur dans le code :
Sub copie_dnt()
NomDuDernierFichierEnregistré = Application.RecentFiles(1).Name
Dim wb1 As Excel.Workbook
Set wb1 = Workbooks.Open(NomDuDernierFichierEnregistré)
' Workbooks.Open Filename:=NomDuDernierFichierEnregistré
Workbooks.Open ("Chemin du fichier")
wb1.Activate
Sheets("DnT 01").Select
Range("R28,R31,R34,R37,R40,R43").Select
Range("R43").Activate
Selection.Copy
Windows("Copie de IA_dBInside.xlsx").Activate
Sheets("IAH1").Select
Range("BD11").Select
ActiveSheet.Paste
End Sub
L'idée serait donc de prendre en compte le dernier chiffre des noms DnT 0x et IAHx pour réaliser une boucle qui copierait le contenu de DnT 01 dans IAH 1, DnT 02 dans IAH2 etc.
J'avais pensé à une boucle de la forme : for i =1 to x ( je ne connais pas la syntaxe exacte).
Merci de votre réponse