Modifier les référence de la macro en fonctoin du nom de la feuil

J

jacky

Guest
Salut à tous,

J'ai un problème avec la macro que j'ai faite. Je l'ai faite par enregistrement.
Mon problème, c'est que lorsque j'applique la macro sur une autre feuille du classeur, la macro ne me remet pas à jour les références de la feuille source.

Exemple:
L'enregistrement a été fait à partir de la feuille "Avril 04" du classeur 531165 et les informations viennent du classeur 531143.
Je suis à présent sur la feuille "Juin 04" du classeur 531165 et je souhaite que la macro aille chercher les informations sur la feuille "Juin 04" du classeur 531143.

Donc, lorsque je lance la macro sur la feuille "Juin 04", les références des cellules correspondent à celle de la feuille "Avril 04". Alors q'elles doivent être prises sur la feuille "Juin 04".

je vous donne la macro:

ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK('[CC Mvt 531143 - 2004.xls]Mars 04'!R13C15),"""",'[CC Mvt 531143 - 2004.xls]Mars 04'!R13C15)"
Range("F13").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK('[CC Mvt 531143 - 2004.xls]Mars 04'!RC15),"""",'[CC Mvt 531143 - 2004.xls]Mars 04'!RC15)"
Range("A13").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[5]="""","""",'[CC Mvt 531143 - 2004.xls]Fev 04'!RC1)"
Range("F13").Select
ActiveWindow.SmallScroll Down:=-6
Range("B13").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[4]="""","""",'[CC Mvt 531143 - 2004.xls]Fev 04'!RC2)"
Range("A13").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[5]="""","""",'[CC Mvt 531143 - 2004.xls]Avril 04 '!RC2)"
Range("A13").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[5]="""","""",'[CC Mvt 531143 - 2004.xls]Avril 04 '!RC1)"
Range("F13").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK('[CC Mvt 531143 - 2004.xls]Avril 04 '!RC15),"""",'[CC Mvt 531143 - 2004.xls]Avril 04 '!RC15)"
Range("B13").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[4]="""","""",'[CC Mvt 531143 - 2004.xls]Avril 04 '!RC2)"
Range("A13:B13").Select
Selection.AutoFill Destination:=Range("A13:B41"), Type:=xlFillDefault
Range("A13:B41").Select
ActiveWindow.SmallScroll Down:=-18
Range("F13").Select
Selection.AutoFill Destination:=Range("F13:F41"), Type:=xlFillDefault
Range("F13:F41").Select
ActiveWindow.SmallScroll Down:=-18
Rows("13:41").Select
Selection.Sort Key1:=Range("A13"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.SmallScroll Down:=-33
Range("A19").Select
End Sub

Si quelqu'un peu m'aider, je lui serais très reconnaissant.

merci !!!
 
A

Arnaud

Guest
salut,

si le nom de la feuille source est tjs égale au nom de la feuille de destination, essaye un truc comme ça :

Dim NomFeuille As String
NomFeuille = ActiveWorkbook.ActiveSheet.Name

ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK('[CC Mvt 531143 - 2004.xls]" & NomFeuille & "'!R13C15),"""",'[CC Mvt 531143 - 2004.xls]" & NomFeuille & "'!R13C15)"
Range("F13").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK('[CC Mvt 531143 - 2004.xls]" & NomFeuille & "'!RC15),"""",'[CC Mvt 531143 - 2004.xls]" & NomFeuille & "'!RC15)"
Range("A13").Select


ps : je n'est pas modifier toutes les formules car c un peu long et c tjs la même chose.
 

Discussions similaires

Statistiques des forums

Discussions
312 335
Messages
2 087 386
Membres
103 530
dernier inscrit
dieubrice