Bonjour,
Je dois écrire une Macro qui trouve dans la première ligne d’un tableau une valeur que j’ai prédéfinie pour après copier des valeurs y dessous.
J' ai attaché le fichier excel https://www.excel-pratique.com/~files/doc/try1.xls
Dans le fichier excel attaché cette valeur prédéfinie est la valeur d’une année qu’on peut entrer dans la feuille <Var_Param> cellule H8. Des valeurs associés à cette année m et c sont remplis dans le tableau1 en pas
Après avoir entré l’année et les valeurs m et c on clique sur le bouton <copy> en bas du tableau 1. La Macro lié au bouton et sensé de chercher l’année qui était entrée dans la cellule H8 dans la première ligne d’un deuxième tableau (Tableau 2 qui se trouve dans la feuille <Calc_CAPEX&Depr_Prod> , ligne 5). Les valeurs m et c du tableau 1 sont ensuite copiées dans le tableau 2 d’une manière que tous les colonnes du tableau 2 qui portent une année plus grand que celui qui était entrée dans H8 reçoivent également les valeurs (par exemple on entre 2008, alors dans tableau 2 les colonnes nommées 2008-2019 sont remplies avec les valeurs m et c).
J’ai essayé d'écrire cette macro:
Sub copy()
Dim FindString As String 'Year in question
Dim C As Range 'C is # of column
Dim Trgt As Range 'Target where values are copied to
Dim strFirstAdr As String
FindString = Sheets("Var_Param").Range("H8").Value
With Sheets("Calc_CAPEX&Depr_Prod").Range("SA_Large_m")
Set C = .Find(FindString, LookIn:=xlValues)
If Not C Is Nothing Then
strFirstAdr = C.Address
Do
Set Trgt = Sheets("Calc_CAPEX&Depr_Prod").Range(.Cells(6, C.Column), .Cells(14, C.Column))
Trgt.Value = Sheets("Var_Param").Range("G11:G19").Value
Loop While Not C Is Nothing
End If
End With
End Sub
La macro trouve la bonne année dans le tableau 2 et copie également les valeurs m et c –mais pas au bon endroit et ne remplie pas le tableau 2 vers la droite … Je suis novice en Excel et cela m’a pris beaucoup du temps . Maintenant je ne sais plus comment faire…
Merci pour beaucoup pour m’aider