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

Résolu
El-sol -  
 El-sol -
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
El-sol
 
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
El-sol
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
El-sol
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
El-sol
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Je l'ai écrit au-dessus...
0
El-sol
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
El-sol
 
ça fonctionne mais en enlevant aussi le "commercial"
il me reste
ActiveSheet.sort........
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
El-sol
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Je ne connais pas suffisament 2007-2010 pour te guider là dessus
eric
0
El-sol
 
ok mais merci beaucoup pour ton aide.
tout fonctionne à merveille.
je mettrai une autre question pour le bouton.

bonne journée.
0