![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juillet 2007
Version Excel : Excel 2003 (PC)
Messages: 108
|
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. |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Accro
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 1 935
|
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
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Accro ...
|
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juillet 2007
Version Excel : Excel 2003 (PC)
Messages: 108
|
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 |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Accro
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 1 935
|
Re, cibleo,
Le nombre de feuille n'est pas limité, chez moi cela fonctionne jusqu'au bout ![]() Combien de feuilles as-tu avant de créer les différents onglets , A+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Accro ...
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juillet 2007
Version Excel : Excel 2003 (PC)
Messages: 108
|
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 |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Accro
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 1 935
|
Salut Cibleo,
Je ne comprends pas ![]() 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
Code:
If Err.Number <> 0 Then
Sheets("Janvier").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Cel.Value
End If
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+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Accro ...
|
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Version Excel : Excel 2003 (PC)
Messages: 2 722
|
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...... ![]() |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Accro
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 1 935
|
Salut BhBh,
Effectivement, j'ai essayé la dernière fois, ça avait l'air de fonctionner et maintenant ça ne va plus ![]() 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+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Accro ...
|
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: juillet 2007
Version Excel : Excel 2003 (PC)
Messages: 108
|
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 !!! |
|
|
|
![]() |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| dupliquer modéle le nommer à la date | barbexcel | Forum Excel | 1 | 01/01/2007 09h59 |
| dupliquer un modele par feuille et fichier | Etienne | Forum Excel | 11 | 18/05/2006 20h34 |
| Dupliquer | piep14 | Forum Excel | 1 | 13/01/2006 21h21 |
| rechercher et dupliquer | arnaud | Forum Excel Downloads - Archives | 1 | 07/09/2004 19h49 |
| Dupliquer un USF | Patmo | Forum Excel Downloads - Archives | 1 | 29/03/2003 01h52 |