Macrocommande dans plusieurs feuille
Résolu
M'man
-
M'man -
M'man -
Bonjour,
Je cherche comment utiliser une même macrocommande, dans différentes feuilles d'un même classeur Excel. Par contre, je ne voudrais pas que la commande soit simultané dans toutes les feuilles, mais plutôt dans la feuille active seulement.
Je cherche comment utiliser une même macrocommande, dans différentes feuilles d'un même classeur Excel. Par contre, je ne voudrais pas que la commande soit simultané dans toutes les feuilles, mais plutôt dans la feuille active seulement.
A voir également:
- Macrocommande dans plusieurs feuille
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Feuille a5 - Guide
- Comment supprimer une feuille sur word - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
2 réponses
Bonjour,
Tu mets la macro dans un Module standard puis tu la commandes depuis la feuille active souhaitée.
Cordialement.
Tu mets la macro dans un Module standard puis tu la commandes depuis la feuille active souhaitée.
Cordialement.
Bonjour,
il suffit de supprimer les références de la feuille dans votre macro pour qu'elle s'exécute dans la feuille active.
Pour gagner du temps montrez nous le code de la macro, pour confirmer la faisabilité.
A bientôt
il suffit de supprimer les références de la feuille dans votre macro pour qu'elle s'exécute dans la feuille active.
Pour gagner du temps montrez nous le code de la macro, pour confirmer la faisabilité.
A bientôt
Voici un exemple. J'ai essayé d'enlever les références, d'enlever worsheets et les références. Mais ça empêche le fonctionnement de la macrocommande.
Sub samplanchedossard()
'
' samplanchedossard Macro
'
' Touche de raccourci du clavier: Ctrl+o
'
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveWorkbook.Worksheets("samPlanche13").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("samPlanche13").Sort.SortFields.Add Key:=Range( _
"C4:C12073"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("samPlanche13").Sort
.SetRange Range("A3:O12073")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sub samplanchedossard()
'
' samplanchedossard Macro
'
' Touche de raccourci du clavier: Ctrl+o
'
Range("A3").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveWorkbook.Worksheets("samPlanche13").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("samPlanche13").Sort.SortFields.Add Key:=Range( _
"C4:C12073"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("samPlanche13").Sort
.SetRange Range("A3:O12073")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
re,
le code fourni permet d'identifier 4 actions:
1- on selectionne une plage de cellule;
2- on annule les critère de tri sur la feuille
3- on rajoute un critère de tri et on trie la feuille
4- on trie la feuille avec d'autres critères
quel est le but de cette macro ? quel est votre besoin ? est ce de trier une plage selon une colonne?
a priori il s'agit d'excel 2007, je n'ai que 2003 et la syntaxe des tris est différente mais 2003 doit fonctionner sur 2007
A+
le code fourni permet d'identifier 4 actions:
1- on selectionne une plage de cellule;
2- on annule les critère de tri sur la feuille
3- on rajoute un critère de tri et on trie la feuille
4- on trie la feuille avec d'autres critères
quel est le but de cette macro ? quel est votre besoin ? est ce de trier une plage selon une colonne?
a priori il s'agit d'excel 2007, je n'ai que 2003 et la syntaxe des tris est différente mais 2003 doit fonctionner sur 2007
A+
Re
D'accord, il y a plusieurs lignes de code qui ne s'exécute pas dans la même macro
sinon sans modifier le code remplacer ActiveWorkbook.Worksheets("samPlanche13")
par ActiveSheet pour faire fonctionner le code sans gros changements
A+
D'accord, il y a plusieurs lignes de code qui ne s'exécute pas dans la même macro
Range("A3").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Selectpermet de selectionner de la cellule A3 jusqu'à la cellule renseignée la plus "en bas à droite".
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormalpermet de trier la plage selectionnée dans l'ordre croissant de la colonne A quelque soit la feuille ou l'on est positionnée. Changer A3 en indiquant la colonne sur laquelle doit s'effectuer le tri . ( peut être par l'intermédiaire d'une inputbox?)
sinon sans modifier le code remplacer ActiveWorkbook.Worksheets("samPlanche13")
par ActiveSheet pour faire fonctionner le code sans gros changements
A+
Enregistrer une macro
Choisir la touche raccourci
Faire les commandes à enregistrer
Arrêter l'enregistrement.
Et exécuter ou supprimer les macros.
Je suis capable d'accéder au module pour faire de simple modification, mais pas d'en programmer un au complet. Quand je proçède de cette façon, le module inscrit toujours le nom de l'onglet dans lequel je me trouvais lors de la création de la macro. Donc, si j'essaie d'exécuter ma macro dans un autre onglet, le travail se fait toujours dans l'onglet d'origine. Est-possible de remplacer le nom de cet onglet dans le module par une commande lui demandant d'agir dans tous les onglets où je serais situé?