J'ai un petit problème sur excel, je souhaite copier des colonnes puis coller uniquement les valeurs, et cela dans different onglet.
Je voulais eviter de selectionner a chaque fois l'onget alors j'ai écrit cela :
Code:
For Each sh In Worksheets
sh.Columns("F:J").Value = sh.Columns("F:J").Value
Next sh
Seulement le programme bug, au bout de 17 onglets, en me disant : "Excel ne peut pas terminer cette tache avec les ressources disponible. Selectionner moins de données ou fermez des applications"...
J'ai donc essayer le code suivant :
Code:
For Each sh In Worksheets
sh.Select
sh.Columns("F:J").Select
Selection.Copy
sh.Columns("F:F").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next sh
Et la ca fonctionne (sans fermez aucune autre application ou modifier mon fichier), seulement j'aurais voulu ne pas selectionner a chaque fois l'onglet...
Peux-tu te relire, stp, car ta question est loin d'être claire ?
Tu cherches à copier-coller dans une même feuille à chaque fois, avec les mêmes colonnes.
En règle générale, il n'est nul besoin de sélectionner pour faire des copies. Une syntaxe comme la suivante devrait faire l'affaire :
Code:
For Each sh In Worksheets
sh.Columns("F:J").Copy
sh.Columns("F:F").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next sh
Je dis "devrait" car, je me répète, je n'ai pas tout compris.
Tout d'abord je tiens a m'excuser si je n'est pas été clair dans mes explications, j'ai fait du mieux que je pouvais...
Cependant tu as très bien compris ce que je souhaitais faire, et le code que tu m'as fournis fonctionne très bien !
Tout d'abord je tiens a m'excuser si je n'est pas été clair dans mes explications, j'ai fait du mieux que je pouvais...
Cependant tu as très bien compris ce que je souhaitais faire, et le code que tu m'as fournis fonctionne très bien !
Je reviens vers vous, car le code que "Papou-net" m'a donné hier fonctionne très bien, sauf que si j'ai une ligne fusionner ( par exemple les cellules A18:E18, et que je souhaite faire un copier, puis collage scpécial => valeur dans la colonne "E", le programme plante... Je ne comprend pas pourquoi, puisque si je fais la manipulation a la main, il n'y a pas de problème.
Je vous joint un fichier Excel, avec le code pour que vous puissiez tester et surement mieux comprendre mon problème.
Si je puis me permettre un conseil : les cellules fusionnées sont à proscrire dès que l'on utilise des macros.
Cependant, pour répondre à ton besoin, j'ai modifié ta macro pour tenir compte de cette particularité. Mais il faut savoir que, si tu as beaucoup de lignes dans tes feuilles, cela risque de ralentir significativement le déroulement.
Merci beaucoup de ton aide, cela fonctionne parfaitement !
Effectivement il vaut mieux proscrire les cellules fusionnées lorsqu'on utilise des macro, seulement je pars d'un fichier existant, ou les cellules fusionnées sont à garder...
Je ne connaisais pas la manip que tu m'a montré, je te remercie, elle me sera surement très utile par la suite !