Vba:Dupliquer 1 modèle

cibleo

XLDnaute Impliqué
Bonsoir à tous,

Je développe dans une feuille de calcul un modèle de relevé mensuel d'heures (feuille "Janvier" du classeur "PrésencePersonnels1").

Aussi j'ai découvert, en parcourant le forum, 2 macros que j'aimerais associer pour dupliquer ce modèle en plusieurs exemplaires (60 exactement).

La première macro nommée "Ajoutfeuilles" se trouve dans mon classeur "présencePersonnels1" et me duplique bien mon modèle.

La deuxième macro nommée "Test" se trouvant dans le classeur "CreerOngletPJ" me créera seulement les onglets mais pas le modèle.

Comment dupliquer mon modèle de la même façon que la macro "Test" en recopiant le modèle en 60 exemplaires dont les onglets seront nommés avec les intitulés placés dans la "feuille1" de mon classeur "PrésencePersonnels1".

Merci de votre aide, je débute en VBA.

Je vous joins ces 2 fichiers.
 

Pièces jointes

  • CreerongletPJ.xls
    28 KB · Affichages: 121
  • PrésencePersonnels1.zip
    30.7 KB · Affichages: 74
  • PrésencePersonnels1.zip
    30.7 KB · Affichages: 84
  • PrésencePersonnels1.zip
    30.7 KB · Affichages: 81
C

Compte Supprimé 979

Guest
Re : Vba:Dupliquer 1 modèle

Salut Cibleo,

Essaye ce code, ça devrait te plaire ;)

Code:
Sub AjoutFeuilles()
  Dim Cel As Range, DerLig As Long, NomSht As String
  Dim Sht As Worksheet
  ' Mise à jour des variables
  Set Sht = Sheets("Feuil1")
  DerLig = Sht.Range("A" & Rows.Count).End(xlUp).Row
  For Each Cel In Sht.Range("A2:A" & DerLig)
    On Error Resume Next
    ' Provoque une erreur si feuille inexistante
    Sheets(Cel.Value).Activate
    '
    If Err.Number <> 0 Then
      Sheets("Janvier").Copy After:=Sheets(Sheets.Count)
      ActiveSheet.Name = Cel
    End If
  Next Cel
  Set Sht = Nothing
End Sub

A+
 

cibleo

XLDnaute Impliqué
Re : Vba:Dupliquer 1 modèle

Bonsoir Bruno M45,

Ca marche super, je te remercie. Mais il y a un petit Hic, ma dernière série de 12 feuilles (les "Max") n'est dupliquer que 6 fois.
Il me manque Juin à Novembre !!!

Le nombre de feuilles à dupliquer est-il limité ?

Cibleo
 
C

Compte Supprimé 979

Guest
Re : Vba:Dupliquer 1 modèle

Re, cibleo,

Le nombre de feuille n'est pas limité, chez moi cela fonctionne jusqu'au bout :confused:

Combien de feuilles as-tu avant de créer les différents onglets ,

A+
 

cibleo

XLDnaute Impliqué
Re : Vba:Dupliquer 1 modèle

Bonjour BrunoM45,

Je viens de faire un nouvel essai et je te confirme qu'il me manque à nouveau 6 feuilles de calcul de ma liste "Max".

J'ai bien remplacé l'ancienne macro par la tienne, j'ai 3 feuilles de calcul nommées ainsi "Feuil1" "Janvier" et "Fériés" dans cet ordre.

Je possède Excel 2003.

Bizarre! N'y a t-il pas un conflit parce que ma dernière série contient le mot "max".

J'avance toutes les hypothèses, je débute en Vba et je potasse les bouquins !!!

Cibleo
 
C

Compte Supprimé 979

Guest
Re : Vba:Dupliquer 1 modèle

Salut Cibleo,

Je ne comprends pas :confused:

On ne sait jamais, essaye de changer le code
Code:
    If Err.Number <> 0 Then
      Sheets("Janvier").Copy After:=Sheets(Sheets.Count)
      ActiveSheet.Name = Cel
    End If

Par

Code:
    If Err.Number <> 0 Then
      Sheets("Janvier").Copy After:=Sheets(Sheets.Count)
      ActiveSheet.Name = [COLOR=green][B]Cel.Value[/B][/COLOR]
    End If

Sinon met un apostrophe devant : ' On Error Resume Next

Car cette instruction evite au code de s'arrêter en cas d'erreur, et le problème c'est qu'on ne peux pas savoir ce qui se passe !

Si 'Max' est collé au mois comme dans ton fichier exemple, cela ne doit pas poser de problème

A+
 

Cousinhub

XLDnaute Barbatruc
Re : Vba:Dupliquer 1 modèle

Bonjour,
je me glisse dans ce fil pour vous dire, que chez moi, le phénomène décrit par cibleo se produit également
En pas à pas, il créé les 57 premiers onglets copiant la feuille janvier, puis arrivé à MaxJuin08, il n'en créé plus, pourtant la ligne de code "Copy..." est bien déroulée, il se contente de renommer le dernier onglet par Juillet, Août......
:confused:
 
C

Compte Supprimé 979

Guest
Re : Vba:Dupliquer 1 modèle

Salut BhBh,

Effectivement, j'ai essayé la dernière fois, ça avait l'air de fonctionner et maintenant ça ne va plus :confused:

J'ai déjà constaté ce problème, j'ai l'impression que ça vient d'un manque de mémoire ...

Je m'explique,
1) dans le fichier il suffit dans un premier temps de décaler toutes les lignes de Max d'un cran vers la droite, dans la colonne B

2) on lance la macro, tous les noms de la colonne A sont créés

3) on ferme le classeur en enregistrant les modifs

4) on réouvre le classeur, on re-déplace les lignes de Max dans la colonne A
5) on relance la macro qui cette fois créée bien les dernieres feuilles

A+
 

cibleo

XLDnaute Impliqué
Re : Vba:Dupliquer 1 modèle

Re BrunoM45,
Bonjour Bhbh,

Je poursuis les essais.

J'ai rajouté une série nommée "Bill" dans ma "Feuil1".

Résultat : il me dupplique 5 feuilles "max" et 1 feuille "Bill" soit toujours 6 feuilles.

Mystère !!!
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 749
Messages
2 091 623
Membres
105 009
dernier inscrit
aurelien76110