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 !
Bonjour le forum
J'ai besoin avec le classeur ci-joint d'une macro qui recopie la feuille 1 autant de fois qu'il est demandé dans la feuille numérotation, et qui numérote les reçus avec le principe décrit dans cette même feuille.
Une fois les feuilles imprimées cela me permettra avec un seul coup de massicot de réaliser 10 carnets de reçus numérotés dans l'ordre : 1 à 225.
Merci d'avance
Re : Macro pour copier et numéroter les pages d'un carnet
Merci BrunoM45
C'est ce qu'il me fallait. Un détail : on se retrouve tjrs avec 2 feuilles de plus que la Cde, mais c'est pas grave qui peut le plus peut le moins.
Bonne fête de la musique.
Effectivement d'après la longueur du code du as bossé; mais il y a un bugg, j'ai l'impression qu'il est du au fait qu'il y a deux zones de textes : l'une dans l'autre.
A+
Merci BrunoM45
C'est ce qu'il me fallait. Un détail : on se retrouve tjrs avec 2 feuilles de plus que la Cde, mais c'est pas grave qui peut le plus peut le moins.
Bonne fête de la musique.
Avec le code on se retrouve effectivement avec, pour moi 1 feuille en trop !
Dans la feuille Numérotation on doit saisir le nombre de copie, sachant que le "Reçu 1" existe déjà, si on saisi 1, c'est que l'on veut le "Reçu 2", non !?
Bref, il faut modifier le code comme suit
Code:
Sub CopieFeuille()
Dim NbF As Integer, Num As Integer
NbF = Sheets("Numérotation").Range("G9").Value
For Num = 0 To [B][COLOR=blue]NbF - 1
[/COLOR][/B] Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Feuil" & 2 + Num
ActiveSheet.Range("A1").Value = 2 + Num
ActiveSheet.Range("A21").Value = 127 + Num
Next
End Sub
Sinon si le nombre saisi = numéro de reçu, alors
Code:
Sub CopieFeuille()
Dim NbF As Integer, Num As Integer
NbF = Sheets("Numérotation").Range("G9").Value
For Num = 0 To [COLOR=blue][B]NbF - 2
[/B][/COLOR] Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Feuil" & 2 + Num
ActiveSheet.Range("A1").Value = 2 + Num
ActiveSheet.Range("A21").Value = 127 + Num
Next
End Sub
Re : Macro pour copier et numéroter les pages d'un carnet
Re
Curieux !
Je viens de verifier et chez moi le fichier que je propose ne bugg pas
Pour ma culture personnelle (puisque tu es satisfait de la solution de Bruno) peux-tu me dire ou cela bugg ?
Avec le code on se retrouve effectivement avec, pour moi 1 feuille en trop !
Dans la feuille Numérotation on doit saisir le nombre de copie, sachant que le "Reçu 1" existe déjà, si on saisi 1, c'est que l'on veut le "Reçu 2", non !?
Bref, il faut modifier le code comme suit
Code:
Sub CopieFeuille()
Dim NbF As Integer, Num As Integer
NbF = Sheets("Numérotation").Range("G9").Value
For Num = 0 To [B][COLOR=blue]NbF - 1
[/COLOR][/B] Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Feuil" & 2 + Num
ActiveSheet.Range("A1").Value = 2 + Num
ActiveSheet.Range("A21").Value = 127 + Num
Next
End Sub
Sinon si le nombre saisi = numéro de reçu, alors
Code:
Sub CopieFeuille()
Dim NbF As Integer, Num As Integer
NbF = Sheets("Numérotation").Range("G9").Value
For Num = 0 To [COLOR=blue][B]NbF - 2
[/B][/COLOR] Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Feuil" & 2 + Num
ActiveSheet.Range("A1").Value = 2 + Num
ActiveSheet.Range("A21").Value = 127 + Num
Next
End Sub
Dans mon esprit, c'est la solution 2 qui me fallait.
Mais on croit souvent à tord, qu'il y a transmission de pensée entre celui qui écrit et le lecteur.
L'expression orale et écrite, il y a tout un monde; à l'automne je vais faire un stage sur ce thème, je vous ferais part de mes impressions à l'époque.
Merci
Re : Macro pour copier et numéroter les pages d'un carnet
PierreJean Bonjour
J'ai cherché une solution pour te faire des copies d'écran, mais çà ne passe pas.
Voila le premier message que je reçois en laçant la macro
erreur d'exécution '2147024809 (80070057)' Puis lorsque je lance le débugeur
il me surligne en jaune Sheets(n).Shapes(nom).Select
En espérant que cela t'aide car pour moi le langage VBA .... Bon dimanche
Re : Macro pour copier et numéroter les pages d'un carnet
Re
A moins d'une version Excel très differente de la mienne (Office 2000 Excel 9.0) , je ne comprends pas ce qu'il se passe
Puisque JCGL est dans le fil ...
Peut-il confirmer ou infirmer le Bug ?
Merci d'avance
Par ailleurs ,sachant que Oceane a une solution , je n'en voudrais a personne de laisser tomber
Re : Macro pour copier et numéroter les pages d'un carnet
Bonjour à tous
pierrejean
Même erreur chez moi
(J'ai mis 5 pour le nombre de feuilles
4 ont été créées
Le bug apparait à la 5ème
For m = 16 To 18
nom = "Text Box " & m Sheets(n).Shapes(nom).Select
Selection.Formula = "Numérotation!D" & CInt(Replace(Sheets(n).Name, "Feuille", "")) + 1
With Selection.Font
.FontStyle = "Gras"
- 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