aide pour une macro x

taty

XLDnaute Nouveau
éxécuter la même macro plusieurs fois

Bonjour à tous
j'ai un problème sur ma macro.
J'ai une feuille S1 aue j'aimerais duppliquer et renommer ensuite S2. j'ai donc écrit la macro suivante qui fonctionne bien.

Sub dupliquer_feuilles1()
Dim i As Integer
Dim ongl As String
ongl = InputBox("Saisir : S ou N ou Nat C", "NOM de la feuille")
Sheets(ongl & "1").Name = ongl & "1"
For i = 1 To 1
Sheets(ongl & i).Select
Sheets(ongl & i).Copy After:=Sheets(i + 2)
ActiveSheet.Name = ongl & i + 1
Next i
Sheets(ongl & "1").Select
End Sub
Cependant j'aimerais qu'à chaque fois que j'exécute à nouveau la macro qu'elle puisse duppliquer la même feuille et la renommer S3, et ceci j'usquà S52.
seulement je dois m'assurer que j'exécute la macro qu'une seule fois par semaine
merci de m'apporter un coup de pouce!!!! je vous en prie
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : aide pour une macro x

bonjour Tati
essaye ce code

Sub dupliquer_feuilles1()
Dim i As Integer
Dim ongl As String
If Sheets.Count = 52 Then Exit Sub
ongl = InputBox("Saisir : S ou N ou Nat C", "NOM de la feuille")
Sheets(ongl & "1").Name = ongl & "1"
Application.ScreenUpdating = False
For i = 1 To 51
Sheets(ongl & i).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = ongl & i + 1
Next i
Application.ScreenUpdating = True

End Sub

à bientôt
 

taty

XLDnaute Nouveau
Re : aide pour une macro x

bonjour Tati
essaye ce code

Sub dupliquer_feuilles1()
Dim i As Integer
Dim ongl As String
If Sheets.Count = 52 Then Exit Sub
ongl = InputBox("Saisir : S ou N ou Nat C", "NOM de la feuille")
Sheets(ongl & "1").Name = ongl & "1"
Application.ScreenUpdating = False
For i = 1 To 51
Sheets(ongl & i).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = ongl & i + 1
Next i
Application.ScreenUpdating = True

End Sub

à bientôt

j'ai esayer mais elle ne marche pas. elle me duplique la feuille mais ne la renomme pas S2
 

Efgé

XLDnaute Barbatruc
Re : aide pour une macro x

Bonjour taty, Bebere,
Juste une proposition pour créer les 54 feuilles d'un coup...
(Lancer dupliquer_feuilles1 par ALT + F8)
Cordialement
 

Pièces jointes

  • taty(1).zip
    10.3 KB · Affichages: 60

taty

XLDnaute Nouveau
Re : aide pour une macro x

la macro pour copier toutes les 54 feuilles à la fois marche.
Cependant, la feuille que je dupplique et que je renomme est mise à jour toutes les semaines par une macro qui mimporte des données de l'extérieur. Ainsi, avant que j'exécute l'action une fois, je dois m'assuerer que la Mise à jour est faite avant de la renommer sous le nom (S3).
en conclusion, aucune des feuilles ne contiennent exactement les mêmes valeurs
 

Bebere

XLDnaute Barbatruc
Re : aide pour une macro x

bonjour Efgé
Taty
si ta macro mise à jour est exécutée,tu mets la date de mise à jour
exemple range("S1!f1").value=cdate(date)
avant de lancer la copie tu contrôles si une date existe
exemple
if isdate(range("S1!f1").value) then
le code
endif
à la fin range("S1!f1").value=""
ce serait plus facile avec un exemple complet
à bientôt
 

Efgé

XLDnaute Barbatruc
Re : aide pour une macro x

Re
Une autre proposition:
Saisir seulement le numéro de semaine dans l'input box.
La macro copie la derniére feuille existante et renomme la nouvelle avec le chiffre saisie.
Code:
Sub dupliquer_feuilles2()
Dim Nom As String
Dim f As Worksheet
Nom = InputBox("Saisir le numéro de semaine", "NOM de la feuille")
If Nom = "" Then MsgBox "Vous devez entrer un numéro de semaine": Exit Sub
For Each f In ThisWorkbook.Worksheets
    If f.Name = "S" & Nom Then
        MsgBox "Cette feuille éxiste déja"
        Exit Sub
    End If
Next f
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "S" & Nom
End Sub
Toujours à lancer avec ALT + F8
Cordialement
 

Pièces jointes

  • taty(2).zip
    5.6 KB · Affichages: 67

Discussions similaires

Statistiques des forums

Discussions
312 412
Messages
2 088 195
Membres
103 763
dernier inscrit
p.michaux