Donnée variable dans une macro

Résolu/Fermé
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019 - 17 sept. 2014 à 12:15
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 - 18 sept. 2014 à 12:18
Bonjour,

Excel 2013 - Windows 8.1

Dans un document j''ai un Onglet nommé CALQUE qui comporte la macro suivante :


Sub Tri_Budget()
'
' Tri_Budget Macro
'

'
Range("A4:J400").Select
ActiveWorkbook.Worksheets("Calque").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Calque").Sort.SortFields.Add Key:=Range("J4:J400"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Calque").Sort
.SetRange Range("A4:J400")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Cet Onglet me sert de référence pour créer au fil du temps via la fonction "Déplacé_Copier" 12 nouveaux Onglets Janvier, Février..... Décembre.
Est-ce qu'il est possible de compléter cette macro afin que le nom "Calque" prenne le nom de l'Onglet dans laquelle elle s'exécute.
Je reste bien entendu à votre entière disposition si nécessaire et vous remercie par avance de votre attention.
Cordialement.
A voir également:

5 réponses

Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
17 sept. 2014 à 12:46
bonjour

Essaye

Dim laFeuil As String
laFeuil = ActiveSheet.Name


Et remplacer "Calque" par laFeuil dans la macro

cordialement
0
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019
17 sept. 2014 à 13:18
Bonjour Iama,

Merci de ta réponse.
Je ne suis pas un as de la macro !
Comment et où intégrer ce que tu proposes, avant ou après Subtri ?
Y-a-t-il des instructions à ajouter ?
Merci par avance de ta réponse.
Amicalement
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
Modifié par Iama le 18/09/2014 à 12:19
Pour info

Après sub

cordialement
0
via55 Messages postés 14494 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 26 octobre 2024 2 734
17 sept. 2014 à 13:23
Bonjour

Plus simplement tu peux dans la macro remplacer tous les Worksheets("Calque") par ActiveSheet

Cdlmnt
0
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019
17 sept. 2014 à 14:27
Bonjour via55,
Merci de me venir à nouveau en aide.
J'ai remplacé tous les Worksheets par ActiveSheet
j'ai "Erreur 438"
Amicalement
0
JL00700 Messages postés 90 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 1 novembre 2019
17 sept. 2014 à 14:30
Re,

OK, j'avais simplement oublié d'ôter "CALQUE"
Je vérifie cela devrait marcher.
Merci beaucoup
Amicalement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14494 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 26 octobre 2024 2 734
17 sept. 2014 à 14:35
Re

Chez moi cela fonctionne très bien

As tu bien modifié ainsi ? :

Sub Tri_Budget()
'
' Tri_Budget Macro
'

'
Range("A4:J400").Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("J4:J400"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("A4:J400")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Cdlmnt
0