Bonjour,
Je voudrai couper / coller dans un nouveau classeur plusieurs feuilles.
Je ne connais pas le nombre de feuilles ni leur nom et je les cherche avant de lancer le déplacement des feuilles.
J'utilise le code suivant en macro automatique pour comprendre :
Ce code marche sans problèmes alors je modifie ce code pour mon projet
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets(Array("Feuille1", "Feuille2", "Feuille3", "Feuille4")).Move
Je voudrai donc construire une variable String avec les noms des feuilles à déplacer
Lorsque je fais tourner cette macro, j'ai un message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 '----------- totfeuill est le nombre de feuille du classeur '----------- feuildeplass et le nombre de feuilles à déplacées '----------- Chr(34) est le code ASCII de " pour construire la variable For i = totfeuill To totfeuill - feuildeplass Step -1 lesfeuill = lesfeuill + Sheets(i).Name + Chr(34) + "," + Chr(34) Next i lon = Len(lesfeuill) lesfeuill = Left(lesfeuill, lon - 3) '--- Pour supprimer les 3 caractère de fin Sheets(Array(lesfeuill)).Move
Pourtant, lorsque je lis la variable, elle est correctement construite.L'indice n'appartient pas à la selection
Peut être que cela viens de Chr(34) qui est mal compris par VBA, mais cela me semble étrange. Avez-vous une méthode pour construire ma variable à moins que Array n'accepte pas de variable en paramètre ?
Merci
Partager