Donnée variable dans une macro
Résolu
JL00700
Messages postés
90
Date d'inscription
Statut
Membre
Dernière intervention
-
Iama Messages postés 319 Date d'inscription Statut Membre Dernière intervention -
Iama Messages postés 319 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Donnée variable dans une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Vba range avec variable ✓ - Forum VB / VBA
5 réponses
bonjour
Essaye
Et remplacer "Calque" par laFeuil dans la macro
cordialement
Essaye
Dim laFeuil As String laFeuil = ActiveSheet.Name
Et remplacer "Calque" par laFeuil dans la macro
cordialement
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
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
Bonjour
Plus simplement tu peux dans la macro remplacer tous les Worksheets("Calque") par ActiveSheet
Cdlmnt
Plus simplement tu peux dans la macro remplacer tous les Worksheets("Calque") par ActiveSheet
Cdlmnt
Bonjour via55,
Merci de me venir à nouveau en aide.
J'ai remplacé tous les Worksheets par ActiveSheet
j'ai "Erreur 438"
Amicalement
Merci de me venir à nouveau en aide.
J'ai remplacé tous les Worksheets par ActiveSheet
j'ai "Erreur 438"
Amicalement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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