Excel 2010: problème exécution d'une macro

Résolu/Fermé
El-sol - 30 mai 2012 à 16:01
 El-sol - 30 mai 2012 à 21:16
Bonjour,

J'ai créé une macro dans une feuille de travail pour trier et organiser toutes les données de cette feuille. Et le but est qu'à chaque mois, je vais rajouter une feuille pour le mois suivant et je veux exécuter la macro dans cette nouvelle feuille.
La macro marche dans la feuille où je l'ai créée mais pas comme il faut dans les autres feuilles. Même qu'elle défait un peu la première feuille.

J'imagine que ça doit être la façon dont j'ai créé ma macro au départ.

Où est-ce que j'ai manqué le bateau ???

merci


A voir également:

10 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 mai 2012 à 16:15
Bonjour,

Ben déjà il faudrait voir ton classeur (allégé) avec qcq données et les macros...
cjoint.com et coller ici le lien fourni.

eric
0
http://cjoint.com/?3EEqDJMQhGK

dans la feuille nommée mai, la macro a été exécutée.
Et ce sont les mêmes données que dans la 2e feuille.
Regarde ce qui se passe si tu exécutes la macro dans la 2e feuille.
le short cut est CTRL-y pour l'exécuter.

Le résultat doit être : les dépôts tous en haut, les retraits en bas. Ensuite, dans chaque section, ça doit être trié par la colonne C, puis B, puis A.

Et j'aimerais aussi savoir si je peux associer ma macro à un bouton que je mettrais dans ma barre d'outil d'accès rapide, en autant que je puisse la faire fonctionner partout.

merci
0
je crois que j'ai trouvé une partie de la réponse.
Le bug se trouve dans le fait que lorsque j'ai créé la macro, la feuille s'appelait alors "commercial" mais maintenant elle s'appelle mai, et le mois prochain, la nouvelle feuille va s'appeler juin.
Alors qu'est-ce qu'il faut que je mette dans ma macro pour indiquer que je veux qu'elle s'exécute dans la feuille dans laquelle je me trouve, peu importe le nom de la feuille, car ça va toujours varier.

merci.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 mai 2012 à 17:06
Il faut que la feuille où agit ta macro soit exactement de la même forme que celle où elle a été crée.
Tu enlève des colonnes et des lignes, comment veux-tu qu'elle marche correctement à nouveau sur la feuille Mai qui ne ressemble pas à l'originale ?

dans la feuille nommée mai, la macro a été exécutée.
Et ce sont les mêmes données que dans la 2e feuille.
Regarde ce qui se passe si tu exécutes la macro dans la 2e feuille.

Non, ce ne sont pas les même données au même endroit

eric
0

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

Posez votre question
quand j'ai créé la macro, le document était identique à celui de la 2e feuille.
La macro est dans le but de modifier le tout et le résultat final est dans la première feuille.
Et à chaque mois, il y aura une nouvelle feuille et le document sera identique à celui de la 2e feuille, en fait de format. Bien sûr les montants, descriptions et les dates seront différents.

Mais quand je vais exécuter ma macro dans la nouvelle feuille, je ne veux pas qu'elle s'exécute à nouveau dans les autres feuilles.

Ou bedon, au lieu de mettre mon mois de juin dans le même fichier, que je le mette dans un nouveau fichier, mais la macro ne sera pas dans ce fichier.
Comment puis-je exécuter une macro dans un nouveau fichier ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 mai 2012 à 18:05
Pour l'instant elle plante sur ...FormatConditions... car pas de MFC présente.

Si tu ne fais pas référence à une feuille précise les instructions s'appliqueront à la feuille active.
Donc ne pas mettre de ActiveWorkbook.Worksheets("mai") mais rien, ou activesheet éventuellement.

eric
0
et comment ne pas faire référence ?
J'ai rien précisé à ce sujet, ça s'est mis tout seul dans la macro
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 mai 2012 à 19:30
Je l'ai écrit au-dessus...
0
c'est pas assez clair.

voici le texte dans la macro
à partir de où jusqu'à où je dois enlever:

Cells.Select
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Add(Range("D2:D1000"), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(218, _
150, 148)
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Add Key:=Range( _
"B2:B1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Add Key:=Range( _
"A2:A1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal


j'ai essayé d'en enlever mais la macro ne fonctionne plus.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
Modifié par eriiic le 30/05/2012 à 20:29
J'avais écrit :
Donc ne pas mettre de ActiveWorkbook.Worksheets("mai") mais rien, ou activesheet éventuellement.

Donc essaie en remplaçant :
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Clear
par :
Activesheet.Sort.SortFields.Clear
et pareil sur les autres. Ca agira sur la feuille active et non sur 'Commercial'.

eric
0
ça fonctionne mais en enlevant aussi le "commercial"
il me reste
ActiveSheet.sort........
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 mai 2012 à 20:30
heu oui, je n'avais pas fait assez le ménage...
remplacer :
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Clear
par :
Activesheet.Sort.SortFields.Clear

eric
0
ok
maintenant, ça fonctionne et en plus, j'ai sauvegardé ma macro dans un classeur personnel de macro.

Maintenant, comme j'aurai plusieurs macro dans mon classeur, y a-t-il moyen de les attribuer à des boutons sur mon ruban ?
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 mai 2012 à 21:06
Je ne connais pas suffisament 2007-2010 pour te guider là dessus
eric
0
ok mais merci beaucoup pour ton aide.
tout fonctionne à merveille.
je mettrai une autre question pour le bouton.

bonne journée.
0