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

  • Initiateur de la discussion Initiateur de la discussion jacky
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 !!!
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour