Nomer une feuille automatiquement

Résolu/Fermé
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 - 1 mai 2017 à 15:41
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 - 4 mai 2017 à 15:04
Bonjour
J'ai un classeur nomé : fact 2017.xls, J’ai un onglets (feuille) créé; Janv 2017
Je voudrai créer par copie de Janv 2017 Fev 2017 puis de Fev 2017 créer Mars 2017 ainsi de suite jusqu'à... Dec 2017.Enfin créer un nouveau Classeur nomé Fact 2018.xls dont la 1ére feuille est une copie de Dec 2017
sous vba en créant un bouton
merci pour votre aide.
A voir également:

17 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
1 mai 2017 à 17:37
Bonjour,

Places un bouton ActiveX sur la feuille (bouton nommé CommandButton1) et copies le code ci-dessous dans le module de la feuille nommée Janv 2017 (qui doit être la seule du classeur) :

Option Explicit
Private Sub CommandButton1_Click()
Dim dlg As FileDialog
Dim c As Workbook
Dim f As Worksheet
Dim d As Date
Dim n As String
Dim a As Integer
Dim i As Integer

  'Désélectionner le bouton
  ActiveCell.Activate
  'Date actuelle
  d = CDate("1 " & Me.Name)
  'Année actuelle
  a = Year(d)
  'Date mois suivant
  d = DateSerial(a, Month(d) + 1, 1)
  'Nom de la feuille
  n = Application.Proper(Format(d, "mmm yyyy"))
  If a = Year(d) Then
    ' si la feuille suivante est dans la même année ....
    On Error Resume Next
    Set f = Worksheets(n)
    On Error GoTo 0
    If f Is Nothing Then
      ' - si la feuile n'existe pas, l'ajouter.
      Me.Copy after:=Me
      Set f = ActiveSheet
      f.Name = n
    Else
      ' - si la feuille existe, la sélectionner
      f.Activate
    End If
  Else
    ' si on change d'année, copier la feuille dans un nouveau classeur
    Me.Copy
    Set f = ActiveSheet
    f.Name = n
    Set c = f.Parent
    ' proposer l'enregistrement du nouveau classeur
    Set dlg = Application.FileDialog(msoFileDialogSaveAs)
    With dlg
      ' nom du fichier
      .InitialFileName = ThisWorkbook.Path & "\" & "Fact " & Year(d)
      ' filtrer sur l'extension *.xls
      For i = 1 To .Filters.Count
        If .Filters(i).Extensions = "*.xls" Then
          .FilterIndex = i
          Exit For
        End If
      Next i
      If .Show <> 0 Then
        'Enregistrer le classeur
        On Error Resume Next
        Application.DisplayAlerts = False
        .Execute
        Application.DisplayAlerts = True
        On Error GoTo 0
      End If
    End With
  End If

End Sub

Exemple :
https://www.cjoint.com/c/GEbpJTODdFd


1
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
1 mai 2017 à 18:48
merci pour votre attention
je trouve une erreur au niveau compilation de la ligne 14
d = CDate("1 " & Me.Name)(Me sélectionner).
et je pause une autre question dans le ^m sujet:
comment copier une feuille (derniére feuille) et la nomé selon l'idex de la feuille précedente(copié), je m'explique
ActiveSheet.Paste
if sheets(1)then ActiveSheet.Name = "Fev 2017"
if sheets(2)then ActiveSheet.Name = "Mars 2017"
.
.
.
.
.j'usqu'a :if sheets(12)then ActiveSheet.Name = "Dec 2017"
comment est ce que je peu écrire cette procédure dans VBA
et enfin créer un nouveau classeur nomer Fact 2018.xls enregistrée sur le bureau dont la 1ere feuille est une copie de Dec 2017
j'ai télécharger l'exemple que vous m'avez envoyer et je trouve pas la macro
merci beaucoup pour votre attention
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
1 mai 2017 à 19:48
Bonjour,

S'il y a une erreur sur la ligne 14 c'est que la consigne n'est pas respectée :
Une seule feuille nommée Janv 2017

L'erreur vient du fait que la feuille n'est pas nommée correctement :
il ne faut pas Fev 2017 mais Févr 2017

Dans le fichier exemple (que je viens de télécharger pour vérifier) la macro se situe comme dit plus haut, dans le module de feuille.

Il est impératif qu'elle se situe là et pas dans un module standard, Cela permet de la dupliquer à chaque copie de feuille et de la retrouver dans le fichier de 2018.
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
1 mai 2017 à 21:10
bon soir monsieur
j'attire votre attention que je suis débutant en vba surtout
il ya des points que je n'est pas bien copris
est ce que je peu vous envoyer mon fichier excell et comment
bonne réception et merci d'avance
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
1 mai 2017 à 21:13
Re,

Déposes le fichier avec des commentaires explicatifs sur
https://www.cjoint.com/
et mets le lien obtenu dans ton prochain message.

Tuto : Comment utiliser C.joint.fr
.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
1 mai 2017 à 23:17
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
2 mai 2017 à 00:31
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
Modifié le 2 mai 2017 à 01:28
bonsoir
je vous remercie profondément
mais il ya un message de securité que j'ai pu l’éviter il dit pour des raisons de sécurité les macros ont eté arrêté comment faire?
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
2 mai 2017 à 09:21
Bonjour
pourquoi lorsque je clique sur le bouton (mois suivant) rien ne se passe
j'ai fait beaucoup d'essaie
merci de me répondre
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
2 mai 2017 à 10:10
Re,

Parce que les macros ne sont pas activées :
Excel 2007 et après : Options Excel / Centre de gestion de la confidentialité / Paramètres du centre de gestion de la confidentialité / Options des macros = Activer toutes les macros + Accès approuvé au modèle d'objet du projet VBA
Excel 2003 et avant : Outils / Options / Onglet sécurité / Sécurité des macros / Onglet Niveau de sécurité = Sécurité faible + / Onglet Editeurs approuvés = faire confiance au projet Visual Basic
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
Modifié le 2 mai 2017 à 11:47
re
j'ai fait comme vous m'avez expliquer mais toujours pas de réponse
le bouton ne s'exécute pas
autre sujet
comment écrire sous VBA pour nommer une nouvelle feuille (une copie de la dernière selon le nom de la feuille copiée)
cad :
si le nom de la feuille copié="Janv 2017", alors nouveau non de la feuille a inserrer sera "Fev 2017" (then ActiveSheet.Name = "Fev 2017")
si le nom de la feuille copié="Fev 2017", alors nouveau non de la feuille a inserrer sera "Mars 2017" (then ActiveSheet.Name = "Mars 2017")
ainsi de suite j'usqua "Dec 2017"

je veu introduire ce que vous aller m'ecrire dans le bouton nouveau
Sub Groupe59_QuandClic()
critere = InputBox("Critere?")
If critere = "" Then Exit Sub
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = critere
[c7].Value = [c7].Value + 1
[A843].Value = [C843].Value
End Sub
ici je veu éliminer l'imput box et remplacer par if then
j'espére que vous m'avez copmris
merci
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
2 mai 2017 à 14:28
merci pour votre aide et de la patience dont vous avez fait pour mon projet.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
2 mai 2017 à 14:39
Est-ce que maintenant les macros fonctionnent ?
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
2 mai 2017 à 16:50
Non
Lorsque je clic rien ne ce passe
Je ne saï pas pourqpui
Merci pour votre attention
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
2 mai 2017 à 22:09
le mode création est-il désactivé (sur l'onglet développeur) ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
2 mai 2017 à 22:11
Quel OS et Quelle version d'Excel ?
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
3 mai 2017 à 00:10
bonsoir
Excell 97-2003
https://www.cjoint.com/c/GEcwjqyIaI8
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
Modifié le 3 mai 2017 à 00:27
a peu prés j'ai trouver une solution qui n'est pas complète veuillez examiner ce que j'ai fait (corriger et compléter svp)
merci d'avance
https://www.cjoint.com/c/GEcwxi3Vy18
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 mai 2017 à 11:00
Bonjour,

Excel 97-2003 ce n'est pas une version, dans cette période il y a eu 4 versions :
- Excel 97 - (8.0) - 15/01/1997
- Excel 2000 - (9.0) - juin 1999
- Excel 2002 - (10.0) - juin 2001
- Excel 2003 - (11.0) - Automne 2003
Pour connaitre la version menu ? (ou aide) / a propos d'Excel
Le comportement des macros peut être différent selon la version.

Est-ce que les macros fonctionnent ?
Est-ce que le fichier du premier message (post 1) fonctionne ?
Tant que j'ai pas ces réponses on avancera pas !

Cependant, comme je l'ai demandé dès mon premier message, il faut impérativement mettre la macro que j'ai proposée dans le module de feuille, pas dans un module standard !

Est-ce que
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 3 mai 2017 à 11:27
- Excel 2003 - (11.0) - Automne 2003
-les macros fonctionnent mais le bouton (mois suivant) ne fonctionne pas je peu ni selectionner, ni copier et rien ne ce passe.
-le fichier du premier message (post 1) ne fonctionne pas
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024
3 mai 2017 à 11:24
Avec cette version, le fichier du post 1 devrait fonctionner, est-ce le cas ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 mai 2017 à 14:09
Re,

C'est bizarre que le fichier ne fonctionne pas !

Je te remets un fichier similaire à celui du post 1 :
https://www.cjoint.com/c/GEdmcuillCd

Télécharger le et enregistres-le sur ton disque dur.
Ne fait aucune modification.
Teste-le c'est-à-dire :
- Appuis sur le bouton mois suivant, il doit créer une feuille Févr 2017,
- Appuis sur le bouton de Févr 2017, il crée Mars 2017,
- ... jusqu'en Déc 2017.
- Appuis sur le bouton de Déc 2017 : il crée un nouveau fichier avec uniquement Janv 2018 et une fenêtre propose l'enregistrement du fichier sous le nom Fact 2018.

Est-ce ce fichier fonctionne ?
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
3 mai 2017 à 14:21
Non
J'appui sur le bouton et rien ne ce passe
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 mai 2017 à 14:35
C'est pas normal,
C'est peut-être un problème avec les boutons ActiveX (a cause de la mise à jour KB 2920794), essaies ce fichier (le second bouton est de type formulaire) :
https://www.cjoint.com/c/GEdmHAMRbjd
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
Modifié le 3 mai 2017 à 14:56
oui ça marche(une seule fois), cad il a créer seulement Fev 2017 et par la suite aucun effet cad il n'a pas crée Mars 2017 en cliquant de nouveau.
merci pour votre attention
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
Modifié le 3 mai 2017 à 15:36
pour avoir Mars 2017 il faut cliquer de nouveau sur le bouton (mois suivant) avec le bouton droit de la souris pour changer du Feuille1 au Feuille2 l'affectation du macro et ainsi de suite pour la création d'une nouvelle Feuille et ça s’arrête jusqu’à Feuille 9 (Oct2017) .
et enfin une boite de dialogue qui s'ouvre dont le contenu est :
vous avez modifié un projet signé. vous ne possédez pas la clé approprié pour le signer. cette signature sera ignorée.
est ce que c'est comme ça je doit faire?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 mai 2017 à 15:55
Ok, je vois :
Sur ton ordinateur, les boutons ActiveX ne fonctionnent pas.
C'est un bug qui provient très probablement d'une des mises à jour Office, ça arrive fréquemment sur certaines machines :
https://www.google.fr/#q=excel+activex+ne+fonctionne+plus&btnK=Recherche%20Google
La solution préconisée par Microsoft ne fonctionne pas toujours :
https://support.microsoft.com/fr-fr/help/817112/

Ce fichier, avec un bouton de formulaire à la place du bouton ActiveX devrait fonctionner correctement :
https://www.cjoint.com/c/GEdn0qNy2fd

Cordialement
Patrice
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
3 mai 2017 à 16:00
PS : Supprimes le Module 1
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
3 mai 2017 à 16:13
Voila
Finalement ça fonctionne bien mais il ya une petite retouche c'est en créant nouvelle classeur 2018 je veux que la 1ere feuille commence par copie de Dec 2017 et je commence de nouveau le travail cad en cliquant je 'obtiend Janv 2018 .........
merci beaucoup pour votre aide.
Riadh.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 mai 2017 à 16:37
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9
3 mai 2017 à 19:30
Monsieur
peu être vous avez tromper de choisir la pièce jointe
c'est le fichier que je vous est envoyer la 1ere fois de ma part
merci pour votre compréhension
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 mai 2017 à 20:02
Oui, mais avec la commande nouvelle feuille qui fonctionne comme demandé !
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 3 mai 2017 à 20:49
c'est exactement ce que je cherche merci de me simplifier la vie (toujours en apprend)
encore je vous remercie de tout mon cœur
j'ai un autre sujet(améliorer simplifier un fichier de pointage) que j’espère que vous intervenir..https://forums.commentcamarche.net/forum/affich-34564340-corriger-ameliorer-et-simplifier-un-fichier-de-pointage#p34564753
merci beaucoup
Riadh..
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9 > hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024
Modifié le 4 mai 2017 à 09:29
Bonjour
encore une question
a chaque création d'une nouvelle feuille j'ajoute 1 au cellule c7 et copier la cellule A843 dans C 843 :( [c7].Value = [c7].Value + 1
[A843].Value = [C843].Value) oû est ce que je peu introduire cette écriture dans votre procédure?
le changement du non de la feuille dans le lien hypertexte des bouton Haut et Bas est ce que je peu le faire automatiquement?
comme ça c'est fini et j'automatise tout les taches
Bonne journée
Riadh.
0
hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024 9 > hakimr Messages postés 259 Date d'inscription lundi 1 mai 2017 Statut Membre Dernière intervention 17 août 2024
4 mai 2017 à 15:04
j'ai réussi a jouter les deux ligne pour modifier C7 et A843 a chaque ajout de feuille et ça fonctionne et ça marche bien, sauf il reste le changement de l'adresse des lien hypertexte des boutons Haut et Bas est ce que je peu automatiser cette tache ? sinon ce n'est pas un problème je fait manuellement
merci et bonne journée
0