XL 2010 Copier/coller une feuille de calcul contenant un "bouton macro".

  • Initiateur de la discussion Initiateur de la discussion DAVID-44-
  • 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 !

DAVID-44-

XLDnaute Occasionnel
Bonjour à tous,
j'ai copié/coller une feuille de calcul contenant un "bouton macro" dans le même classeur. Malheureusement, le "bouton macro" fonctionne dans la feuille de base et non sur la nouvelle feuille créée. J'aimerais savoir s'il était possible de copier la feuille complète avec ce "bouton macro" et le faire fonctionner indépendamment et uniquement dans les nouvelles feuilles créées.
Merci de votre aide.
Cordialement.
David.
 
Solution
David, essayez cela.
Ca suppose qu'avant de rentrer dans la macro vous soyez sur le bonne feuille.

VB:
Sub Macro7()
Set ws = ActiveSheet    ' selectionne la feuille active

Range("B10:J28").Select
ws.Sort.SortFields.Clear
ws.Sort.SortFields.Add Key:= _
Range("I10:I28"), SortOn:=xlSortOnValues, Order:=xlDescending, _
                    DataOption:=xlSortNormal
With ws.Sort
    .SetRange Range("B10:J28")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub
Bonjour David,
Ce bouton dupliqué accédera toujours à la même macro.
C'est dans celle ci que vous devez référencer la feuille dans laquelle il doit travailler, avec par exemple With ActiveSheet et modifier votre macro pour que toutes ses actions ce passe sur cette feuille de référence.
Par exemple si dans votre macro vous avez Sheets("Feuill1").Range("A1")=0, quelque soit la feuille à partir de laquelle fut lancée la macro, elle ne changera que la Feuil1.
Dans ce cas remplacez cette ligne par :
VB:
With ActiveSheet
    .Range("A1")=0
End With
Et il modifiera la feuille concernée.
 
Bonjour Sylvanu,
Merci pour ta réponse.
J'ai essayé de modifier la macro, mais je ne suis pas très doué.
Voilà ce que j'ai et je ne sais pas où modifier la macro :

Sub Macro7()
'
' Macro7 Macro
'

'
Range("B10:J28").Select
ActiveWorkbook.Worksheets("BLANQUETTE DE POISSON").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("BLANQUETTE DE POISSON").Sort.SortFields.Add Key:= _
Range("I10:I28"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("BLANQUETTE DE POISSON").Sort
.SetRange Range("B10:J28")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Merci de ton aide.
Cordialement.
David.
 
David, essayez cela.
Ca suppose qu'avant de rentrer dans la macro vous soyez sur le bonne feuille.

VB:
Sub Macro7()
Set ws = ActiveSheet    ' selectionne la feuille active

Range("B10:J28").Select
ws.Sort.SortFields.Clear
ws.Sort.SortFields.Add Key:= _
Range("I10:I28"), SortOn:=xlSortOnValues, Order:=xlDescending, _
                    DataOption:=xlSortNormal
With ws.Sort
    .SetRange Range("B10:J28")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub
 
- 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

Discussions similaires

Réponses
7
Affichages
416
Retour