problème Copy After:=Sheets(Sheets.Count)

  • Initiateur de la discussion Initiateur de la discussion DanielC
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

DanielC

Guest
Bonsoir,
J'ai écrit une macro VBA en excel 2003 qui lit une base pour créer d'autre classeurs dans lesquels il y autant d'onglets que de comptes rencontrés dans la base.
Les comptes sont d'un nombre variable, de 1 à 50.
Dans le classeur créé j'ai un modèle que je recopie et le rename avec le N° de compte que je récupère dans la base avec le code suivant :
Sheets("modèle").Select
Sheets("modèle").Copy After:=Sheets(Sheets.Count)
Sheets("modèle (2)").Select
Sheets("modèle (2)").Name = compte
Cela fonctionne parfaitement jusqu'au 22 ème compte puis la mlacro se plante.Avec le motif suivant : "la méthode Copy de la classe Worsheet à échoué".
Quelqu'un aurait t'il une solution à me proposer ?

Merci d'avance

Daniel C
 
Re : problème Copy After:=Sheets(Sheets.Count)

Merci à tous les deux.
J'étais sur le lien français indiqué par Roger2327. (Notice de microsoft).
J'ai utilisé la dernière solution proposé par eux, a savoir :
ne pas faire de "Sheets("modèle").Copy After:=Sheets(Sheets.Count)" en utilisant une feuille du classeur. Mais de créer le modèle en tant que modèle (fichier xlt) ne contenant que le modèle en question.
Puis dans la macro d'insérer ce modèle autant de fois que nécessaire. (commande : Sheets.Add Type:=chemin\nomfichier )
Cela marche très bien.
Il faut juste que je trouve encore la commande qui m'insère les feuilles l'une derrière l'autre et pas l'inverse.
merci à vous
Bonsoir
Daniel C
 
Re : problème Copy After:=Sheets(Sheets.Count)

Salut, via l'aide en ligne sur Add rubrique exemples Sheets et WorkSheets
avec le choix de Before ou After suivant l'emplacement désiré
Code:
     ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
 
Dernière édition:
Re : problème Copy After:=Sheets(Sheets.Count)

Merci kiki29
ca marche effectivement comme çà.
Et pour indiquer le nom d'un fichier on peut écrire la commande sous la forme :
Sheets.Add after:=Worksheets(Worksheets.Count), Type:=chemin & "\" & nommodèle
avec chemin et nommodèle qui sont des variables.
A+
Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

G
  • Question Question
Réponses
1
Affichages
803
Grouchet
G
Réponses
1
Affichages
1 K
T
Réponses
7
Affichages
2 K
traxman
T
I
Réponses
6
Affichages
1 K
Identifiant
I
C
Réponses
16
Affichages
2 K
C
Réponses
6
Affichages
865
Celine57
C
L
Réponses
5
Affichages
2 K
lumiexcel
L
N
  • Question Question
Réponses
5
Affichages
3 K
M
Réponses
6
Affichages
1 K
ManuelM
M
H
Réponses
2
Affichages
7 K
H
Retour