Multiple regression avec des séries non fixes [Résolu] - Forum VB / VBA

Multiple regression avec des séries non fixes » Meilleures réponses Multiples appels inconnus sur ma ligne fixe » Forum - Mobile Différence ACP et régression linéaire multiple ✓ résolu » Forum - Excel Regression multiple sur matlab ✓ résolu » Forum - Matlab Excel régression linéaire multiple représentation graphique ✓ résolu » Forum - Excel Excell - multiplication d' une cellule fixe ✓ résolu » Forum - Excel

Bonjour,

Je débute dans les macro vba et viens de passer un certain temps à essayer de debugger mon code. J'espère que quelqu'un sur le forum pourra m'aider.

J'ai un fichier avec 19 variables (18 expliquées et 1 explicative). Je dois donc réaliser 18 régressions linéaires sur la base de ces données. Sachant que mes 19 séries "accueillent" une nouvelle donnée tous les mois ce qui fait que la longueur de ma série n'est pas fixe.

J'ai dans un premier temps, écris à l'aide de l'enregistreur de macro le code ci-dessous qui effectue les 18 régressions dont j'ai besoin (code non optimal je sais bien). Et celui-ci marche bien:

 ActiveWorkbook.Sheets("Reg_taux_longs").Cells.Select     Selection.ClearContents     Selection.Borders(xlDiagonalDown).LineStyle = xlNone     Selection.Borders(xlDiagonalUp).LineStyle = xlNone     Selection.Borders(xlEdgeLeft).LineStyle = xlNone     Selection.Borders(xlEdgeTop).LineStyle = xlNone     Selection.Borders(xlEdgeBottom).LineStyle = xlNone     Selection.Borders(xlEdgeRight).LineStyle = xlNone     Selection.Borders(xlInsideVertical).LineStyle = xlNone     Selection.Borders(xlInsideHorizontal).LineStyle = xlNone  '      Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$C$5:$C$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$1:$I$18"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B1").Select         ActiveCell.FormulaR1C1 = "=Données!R[3]C[1]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$D$5:$D$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$20:$I$38"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B20").Select     ActiveCell.FormulaR1C1 = "=Données!R[-16]C[2]"          Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$E$5:$E$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$40:$I$58"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B40").Select     ActiveCell.FormulaR1C1 = "=Données!R[-36]C[3]"          Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$F$5:$F$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$60:$I$78"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B60").Select     ActiveCell.FormulaR1C1 = "=Données!R[-56]C[4]"          Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$G$5:$G$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$80:$I$98"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B80").Select     ActiveCell.FormulaR1C1 = "=Données!R[-76]C[5]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$H$5:$H$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$100:$I$118"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B100").Select     ActiveCell.FormulaR1C1 = "=Données!R[-96]C[6]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$I$5:$I$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$120:$I$138"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B120").Select     ActiveCell.FormulaR1C1 = "=Données!R[-116]C[7]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$J$5:$J$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$140:$I$158"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B140").Select     ActiveCell.FormulaR1C1 = "=Données!R[-136]C[8]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$K$5:$K$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$160:$I$178"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B160").Select     ActiveCell.FormulaR1C1 = "=Données!R[-156]C[9]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$L$5:$L$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$180:$I$198"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B180").Select     ActiveCell.FormulaR1C1 = "=Données!R[-176]C[10]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$M$5:$M$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$200:$I$218"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B200").Select     ActiveCell.FormulaR1C1 = "=Données!R[-196]C[11]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$N$65:$N$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$220:$I$238"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B220").Select     ActiveCell.FormulaR1C1 = "=Données!R[-216]C[12]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$O$65:$O$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$240:$I$258"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B240").Select     ActiveCell.FormulaR1C1 = "=Données!R[-236]C[13]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$P$173:$P$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$173:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$260:$I$278"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B260").Select     ActiveCell.FormulaR1C1 = "=Données!R[-256]C[14]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$Q$65:$Q$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$280:$I$298"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B280").Select     ActiveCell.FormulaR1C1 = "=Données!R[-276]C[15]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$R$5:$R$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$300:$I$318"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B300").Select     ActiveCell.FormulaR1C1 = "=Données!R[-296]C[16]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$S$5:$S$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$320:$I$338"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B320").Select     ActiveCell.FormulaR1C1 = "=Données!R[-316]C[17]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$T$65:$T$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$340:$I$358"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B340").Select     ActiveCell.FormulaR1C1 = "=Données!R[-336]C[18]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$U$5:$U$382"), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$382"), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$360:$I$378"), False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B360").Select     ActiveCell.FormulaR1C1 = "=Données!R[-356]C[19]" End Sub


Ensuite j'ai essayé de prendre en compte le fait que mes séries sont évolutives avec le code ci-dessous et là je reçois 2 sortes de messages d'erreur :
"La plage d'entrée ne peut contenir des données non numériques"
" Les plages d'entrées pour les variables X et pour la variable Y doivent avoir le même nombre de ligne, sans y compter l'intitulé"
A noter que quand je lance les blocs de code un à un, ils fonctionnent tous. C'est ensemble qu'ils dysfonctionnent.

ActiveWorkbook.Sheets("Reg_taux_longs").Cells.Select     Selection.ClearContents     Selection.Borders(xlDiagonalDown).LineStyle = xlNone     Selection.Borders(xlDiagonalUp).LineStyle = xlNone     Selection.Borders(xlEdgeLeft).LineStyle = xlNone     Selection.Borders(xlEdgeTop).LineStyle = xlNone     Selection.Borders(xlEdgeBottom).LineStyle = xlNone     Selection.Borders(xlEdgeRight).LineStyle = xlNone     Selection.Borders(xlInsideVertical).LineStyle = xlNone     Selection.Borders(xlInsideHorizontal).LineStyle = xlNone        Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$C$5:$C$" & Range("C" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$1:$I$18"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B1").Select    ActiveCell.FormulaR1C1 = "=Données!R[3]C[1]"                Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$D$5:$D$" & Range("D" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$20:$I$38"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B20").Select     ActiveCell.FormulaR1C1 = "=Données!R[-16]C[2]"          Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$E$5:$E$" & Range("E" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$40:$I$58"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B40").Select     ActiveCell.FormulaR1C1 = "=Données!R[-36]C[3]"          Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$F$5:$F$" & Range("F" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$60:$I$78"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B60").Select     ActiveCell.FormulaR1C1 = "=Données!R[-56]C[4]"          Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$G$5:$G$" & Range("G" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$80:$I$98"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B80").Select     ActiveCell.FormulaR1C1 = "=Données!R[-76]C[5]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$H$5:$H$" & Range("H" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$100:$I$118"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B100").Select     ActiveCell.FormulaR1C1 = "=Données!R[-96]C[6]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$I$5:$I$" & Range("I" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$120:$I$138"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B120").Select     ActiveCell.FormulaR1C1 = "=Données!R[-116]C[7]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$J$5:$J$" & Range("J" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$140:$I$158"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B140").Select     ActiveCell.FormulaR1C1 = "=Données!R[-136]C[8]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$K$5:$K$" & Range("K" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$160:$I$178"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B160").Select     ActiveCell.FormulaR1C1 = "=Données!R[-156]C[9]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$L$5:$L$" & Range("L" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$180:$I$198"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B180").Select     ActiveCell.FormulaR1C1 = "=Données!R[-176]C[10]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$M$5:$M$" & Range("M" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$200:$I$218"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B200").Select     ActiveCell.FormulaR1C1 = "=Données!R[-196]C[11]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$N$65:$N$" & Range("N" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$220:$I$238"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B220").Select     ActiveCell.FormulaR1C1 = "=Données!R[-216]C[12]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$O$65:$O$" & Range("O" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$240:$I$258"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B240").Select     ActiveCell.FormulaR1C1 = "=Données!R[-236]C[13]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$P$173:$P$" & Range("P" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$173:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$260:$I$278"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B260").Select     ActiveCell.FormulaR1C1 = "=Données!R[-256]C[14]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$Q$65:$Q$" & Range("Q" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$280:$I$298"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B280").Select     ActiveCell.FormulaR1C1 = "=Données!R[-276]C[15]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$R$5:$R$" & Range("R" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$300:$I$318"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B300").Select     ActiveCell.FormulaR1C1 = "=Données!R[-296]C[16]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$S$5:$S$" & Range("S" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$320:$I$338"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B320").Select     ActiveCell.FormulaR1C1 = "=Données!R[-316]C[17]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$T$65:$T$" & Range("T" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$65:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$340:$I$358"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B340").Select     ActiveCell.FormulaR1C1 = "=Données!R[-336]C[18]"              Application.Run "ATPVBAEN.XLAM!Regress", ActiveWorkbook.Sheets("Données").Range("$U$5:$U$" & Range("U" & Rows.Count).End(xlUp).Row), _         ActiveWorkbook.Sheets("Données").Range("$B$5:$B$" & Range("B" & Rows.Count).End(xlUp).Row), False, False, , ActiveWorkbook.Sheets("Reg_taux_longs").Range("$A$360:$I$378"), _         False, False, False, False, , False         Sheets("Reg_taux_longs").Range("B360").Select     ActiveCell.FormulaR1C1 = "=Données!R[-356]C[19]" End Sub


Quelqu'un saurait-il pourquoi et ce que je peux y faire?

Les propositions d'optimisation de mon code sont également les bienvenues!

Merci d'avance!

Forum

Multiple regression avec des séries non fixes » Meilleures réponses Multiples appels inconnus sur ma ligne fixe » Forum - Mobile Différence ACP et régression linéaire multiple ✓ résolu » Forum - Excel Regression multiple sur matlab ✓ résolu » Forum - Matlab Excel régression linéaire multiple représentation graphique ✓ résolu » Forum - Excel Excell - multiplication d' une cellule fixe ✓ résolu » Forum - Excel

Web: www.shapebootstrap.net

5 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

bonsoir, prenons d'abord le temps d'optimiser ton code de départ, il sera ensuite plus facile de le généraliser.
suggestion:

Option Explicit  Sub tt() Dim dest As Worksheet Dim source As Worksheet Dim dernlig As Long  dernlig = 382 Set dest = ThisWorkbook.Sheets("Reg_taux_longs") Set source = ThisWorkbook.Sheets("Données") dest.Cells.ClearContents dest.Cells.Borders(xlDiagonalDown).LineStyle = xlNone dest.Cells.Borders(xlDiagonalUp).LineStyle = xlNone dest.Cells.Borders(xlEdgeLeft).LineStyle = xlNone dest.Cells.Borders(xlEdgeTop).LineStyle = xlNone dest.Cells.Borders(xlEdgeBottom).LineStyle = xlNone dest.Cells.Borders(xlEdgeRight).LineStyle = xlNone dest.Cells.Borders(xlInsideVertical).LineStyle = xlNone dest.Cells.Borders(xlInsideHorizontal).LineStyle = xlNone  '      Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$C$5:$C$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$1:$I$18"), False, False, False, False, , False         dest.Range("B1").FormulaR1C1 = "=Données!R[3]C[1]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$D$5:$D$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$20:$I$38"), False, False, False, False, , False         dest.Range("B20").FormulaR1C1 = "=Données!R[-16]C[2]"          Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$E$5:$E$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$40:$I$58"), False, False, False, False, , False         dest.Range("B40").FormulaR1C1 = "=Données!R[-36]C[3]"          Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$F$5:$F$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$60:$I$78"), False, False, False, False, , False         dest.Range("B60").FormulaR1C1 = "=Données!R[-56]C[4]"          Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$G$5:$G$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$80:$I$98"), False, False, False, False, , False         dest.Range("B80").FormulaR1C1 = "=Données!R[-76]C[5]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$H$5:$H$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$100:$I$118"), False, False, False, False, , False         dest.Range("B100").FormulaR1C1 = "=Données!R[-96]C[6]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$I$5:$I$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$120:$I$138"), False, False, False, False, , False         Sheets("Reg_taux_longs").FormulaR1C1 = "=Données!R[-116]C[7]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$J$5:$J$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$140:$I$158"), False, False, False, False, , False         dest.Range("B140").Select     ActiveCell.FormulaR1C1 = "=Données!R[-136]C[8]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$K$5:$K$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$160:$I$178"), False, False, False, False, , False         dest.Range("B160").FormulaR1C1 = "=Données!R[-156]C[9]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$L$5:$L$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$180:$I$198"), False, False, False, False, , False         dest.Range("B180").FormulaR1C1 = "=Données!R[-176]C[10]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$M$5:$M$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$200:$I$218"), False, False, False, False, , False         dest.Range("B200").FormulaR1C1 = "=Données!R[-196]C[11]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$N$65:$N$" & dernlig), _         source.Range("$B$65:$B$" & dernlig), False, False, , dest.Range("$A$220:$I$238"), False, False, False, False, , False         dest.Range("B220").FormulaR1C1 = "=Données!R[-216]C[12]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$O$65:$O$" & dernlig), _         source.Range("$B$65:$B$" & dernlig), False, False, , dest.Range("$A$240:$I$258"), False, False, False, False, , False         dest.Range("B240").FormulaR1C1 = "=Données!R[-236]C[13]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$P$173:$P$" & dernlig), _         source.Range("$B$173:$B$" & dernlig), False, False, , dest.Range("$A$260:$I$278"), False, False, False, False, , False         dest.Range("B260").FormulaR1C1 = "=Données!R[-256]C[14]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$Q$65:$Q$" & dernlig), _         source.Range("$B$65:$B$" & dernlig), False, False, , dest.Range("$A$280:$I$298"), False, False, False, False, , False         dest.Range("B280").FormulaR1C1 = "=Données!R[-276]C[15]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$R$5:$R$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$300:$I$318"), False, False, False, False, , False         dest.Range("B300").FormulaR1C1 = "=Données!R[-296]C[16]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$S$5:$S$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$320:$I$338"), False, False, False, False, , False         dest.Range("B320").FormulaR1C1 = "=Données!R[-316]C[17]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$T$65:$T$" & dernlig), _         source.Range("$B$65:$B$" & dernlig), False, False, , dest.Range("$A$340:$I$358"), False, False, False, False, , False         dest.Range("B340").FormulaR1C1 = "=Données!R[-336]C[18]"              Application.Run "ATPVBAEN.XLAM!Regress", source.Range("$U$5:$U$" & dernlig), _         source.Range("$B$5:$B$" & dernlig), False, False, , dest.Range("$A$360:$I$378"), False, False, False, False, , False         dest.Range("B360").FormulaR1C1 = "=Données!R[-356]C[19]" End Sub

cela se comporte-il comme ton code de départ?
si oui, il suffit ensuite, je pense, de modifier la ligne 8.

Reply
réponses:
  • auteur

    Bonjour, le code que tu proposes se comporte en effet comme mon code de départ.

    J'ai modifier la ligne 8 avec dernlig=Range("A" & Rows.Count).End(xlUp).Row. Mais je n'obtiens pas les résultats escomptés. et avec
    With source.UsedRange
    dernlig = .Rows.Count
    End With

    J'ai un message d'erreur...

  • auteur

    J'ai essayer avec dernlig = source.Range("C" & Rows.Count).End(xlUp).Row et là ça marche beaucoup mieux. Merci encore pour votre réponse qui m'a conduit vers cette solution!

  • yg_be

    plus prudent:

    dernlig = source.Range("C" & source.Rows.Count).End(xlUp).Row

  • yg_be

    Merci!

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed