Pourquoi d'abord sélectionner la colonne A pour avoir le plaisir ensuite de considérer ce qui est sélectionné. Autant considérer la colonne A sans la sélectionner.
Pas beau :
Code :
Columns("A:A" ).Select
Selection.Insert Shift:=xlToRight
Chouette :
Code :
Columns("A:A" ).Insert Shift:=xlToRight
Encore mieux :
Code :
Columns("A" ).Insert Shift:=xlToRight
Je te propose un petit exercice : Essaye de comprendre ton code et vire-moi les "Select/Selection/ActiveTruc" inutiles. Ton code va subir une cure d'amaigrissement, il va devenir facile à lire, à comprendre et à corriger.
A lire ton nouveau code.
EDIT: en me relisant, je m'aperçois que je ne t'ai pas promis un chouette code fonctionnel et facile à comprendre même pour un débutant qu'on torture avec du Excel/VBA. Voilà, c'est fait.
C'est une macro par enregistrement à la base...
Donc j'ai pas esquissé un seul essai de clean du code, puisque le souci ne vient pas de la, et que comme c'est pour le taff, et que je cherche à le résoudre du taff, ma priorité est de le faire fonctionner parfaitement, pas de le rendre esthétique...
Mais bon je vais le faire, puisque tu le demandes >_<
Cool tu as trouvé tout seul.
Voici cependant ce que je t'écrivais le temps que tu postes ta soluce :
Range("A2:A408" ).Select
Cells.Select
Merci de ne pas avoir pigé l'intérêt. ça ne sert effectivement à rien.
Tips: Evite de dire que tu n'en as rien à foutre, que ce n'est que pour le boulot, etc.
Sinon tu vas te retrouver avec comme proposition l'adresse d'une SSII
Comme tu te prêtes au jeu, j'ai plaisir à t'aider.
Ta ligne 16 a été supprimée car jugée inutile. Ta ligne 12 aussi. Tous les "Selection" ont été remplacés par une plage de cellules explicite. A ta ligne 10, j'ai remplacé Cells par Range. Ca n'amène pas grand chose. Cells est aussi bien. Mais comme avant et après on considère la colonne A et la zone A2:A408, je l'écris comme ça. Qu'en penses-tu ?
---------------------------------------
Bon, ensuite, à ma ligne 12, il y a un "Exit For". C'est à dire que l'on s'arrête à la première ligne vide. Or si je te suis bien, tu voudrais d'arrêter à la dernière ligne non vide.
C'est bien ça ? Si oui, je te propose cette lecture : La dernière ligne ---------------------------------------
Ce qui précède est donc HS.
Difficile de trouver de l'aide sur un site d'entraide tenu par des bénévoles si tu commences par dire ou laisser croire que : "Votre truc je m'en balance, démerdez-vous pour que ça marche !"
Et si t'es pas content, je te dénonce à Daniel B.
Mais tu vois, en plus tu l'as trouvé tout seul
Si je peux me permettre un dernier conseil sur les macros VBA.
Enregistre-les avec l'enregistreur, nettoie-les et simplifie-les. Ca devient ensuite beaucoup plus simple de les adapter. Il reste la soluce de demander sur un forum qu'on te le fasse, mais tu risques de tomber sur un pénible dans mon genre