Re-effeZERO,
Commençons par la fin : Pour NbLignes, tu as raison, un Long suffirait amplement (2 147 483 647 lignes c'est déjà pas mal).
Pour me trouver une excuse (Bidon ?), disons que demain, si Billou nous sort une nouvelle version d'un Super-Excel 2030 XP Plus Bifluoré avec des vrais morceaux de code à l'intérieur, alors la macro elle marche plus à partir de la ligne 2 147 483 648 ! Oh déception d'effeZERO ! ;-)
Au passage, si Billou pouvait augmenter aussi le nombre de colonnes...
Bon faudrait aussi un PXXIII avec quelques Téra-octets de RAM, mais ça va venir un jour. Si si...
C'était mon excuse bidon pour dire qu'un Long te suffit et que j'ai pas optimisé mon code comme tout XLDien digne de ce nom le devrait.
Je suis encore loin du niveau de notre ami (Maître devrais-je dire) @+Thierry.
J'ai vu ton post après ma première réponse et j'ai étudié la démo de @+Thierry. J'ai d'ailleurs "piqué" un ou deux trucs dedans (Pas plus. Juré ! On dira que je me suis inspiré). @+Thierry... Si tu me lis...
Bref, je vais essayer de te donner quelques pistes sur "ta façon d'écrire ton code". N'y vois rien de moqueur, c'est juste constructif pour t'aider à progresser. Et ce sont juste mes impressions, je peux me tromper.
Moi aussi j'ai débuté sur Excel (V1 et des poussières sous Windows 3.0 en 1991 !). Avant je ne connaissait que Multiplan sous DOS (De Microsoft aussi si je ne m'abuse). Nostalgie quand tu nous tiens...
1°) Tu es un fonceur.
Il me semble que tu n'as pris le temps ni d'analyser la démo de @+Thierry (Appelons-le @+T pour faire plus court. Tu permets @+T ?) ni d'analyser ton problème et le résultat que tu voulais obtenir.
Tu as "picoré" des bouts de code sans regarder à quel moment ils étaient utilisés.
2°) Résultat du 1° : ton code n'est pas structuré.
Comme te le disait @+T dans sa réponse, il faut mettre à jour la progress bar pendant la boucle de copier/coller. Ce que tu as bien fait cette fois mais de façon un peu erratique (A mon sens).
3°) A force de chercher, tu génères du code inutile voire gênant pour la compréhension.
Exemple : Tu passes d'un classeur à l'autre pour faire tes copier/coller (Activate) alors que ce n'est pas forcément utile. Et là je dis merci à @+T car je ne connaissait pas non plus la syntaxe du .copy avec le paste direct derrière sans passer par du select, copy, paste.
Conclusion : quand tu as 12 lignes de code pour une opération, pose toi la question de savoir si tu ne peux pas y arriver par une ou deux lignes de code (N'est-ce pas @+T ?).
Autre exemple : Tu fais des select de range("a1:a11") mais je n'ai pas compris pour quoi faire... (Je suis peut-être un peu bouché...)
4°) Ne baisse jamais (JAMAIS !) les bras.
Si tu n'as pas la solution, XLD (Enfin les XLDien(ne)s) l'a (L'ont) sûrement.
Cherche dans l'aide de VBA, d'Excel (F1, F1, F1 !!! Je veux dire : tape un mot-clé, place le curseur dedans, et appuie sur F1 et suis les hyper-liens de l'aide).
En conclusion : Perdons un peu temps d'abord pour en gagner +++ après.
Je suis sûr que tu vas devenir un champion (Pas avec mes critiques mais avec ce super forum que j'adore depuis une quinzaine de jours).
Et selon la formule consacrée :
Bonsoir effeZERO, bonsoir le forum, à demain si vous le voulez bien.
Allez, je vous dévoile mon prénom : José.