Excel 2010: problème exécution d'une macro
Résolu/Fermé
A voir également:
- Excel 2010: problème exécution d'une macro
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Déplacer une colonne excel - Guide
10 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2012 à 16:15
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
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
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
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
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.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2012 à 17:06
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
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
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 ?
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 ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2012 à 18:05
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
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
et comment ne pas faire référence ?
J'ai rien précisé à ce sujet, ça s'est mis tout seul dans la macro
J'ai rien précisé à ce sujet, ça s'est mis tout seul dans la macro
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2012 à 19:30
30 mai 2012 à 19:30
Je l'ai écrit au-dessus...
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.
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
Modifié par eriiic le 30/05/2012 à 20:29
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
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
ça fonctionne mais en enlevant aussi le "commercial"
il me reste
ActiveSheet.sort........
il me reste
ActiveSheet.sort........
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2012 à 20:30
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
remplacer :
ActiveWorkbook.Worksheets("Commercial").Sort.SortFields.Clear
par :
Activesheet.Sort.SortFields.Clear
eric
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 ?
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 ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
30 mai 2012 à 21:06
30 mai 2012 à 21:06
Je ne connais pas suffisament 2007-2010 pour te guider là dessus
eric
eric