Microsoft 365 Création d'un bouton

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 !

jalaba

XLDnaute Nouveau
Bonjour,
J'aimerais crée un bouton permetant de crée une nouvelle fiche et que cette fiche ce nome automatiquement comme la précédente +1. je n'arrive pas a faire la macro pour ces actions.
Merci
 

Pièces jointes

Bonsoir à toutes & à tous, bonsoir @jalaba , @sylvanu, @JM27
Peut-être que rien ne sert de courir, mais là je fait vraiment fort dans le style "je prends mon temps" ! 🐢🐌
  • Comme l'a suggéré @sylvanu, c'est plus pratique d'avoir un modèle vierge. Donc je prends !
  • Comme l'ont fait @sylvanu & @JM27 c'est pas mal de faire une feuille d'Accueil. Donc je prends !
  • Il y avait une feuille cachée avec la liste des impacts possibles, je l'ai transformé en feuille "Tables".
    J'y ai mis dans des tableaux structurés les choix possibles (j'ai distingué les 3 cas au cas où il y aurait des changements.
    J'y ai ajouté une table avec les adresses de tous les champs à renseigner de la FNC (par formule si on ajoutait des lignes intercallaires).
  • J'ai ajouté dans la feuille d'accueil le choix de l'année (ça pourrait servir en 2026) et la liste des FNC ouvertes l'année choisie.
    Cette liste est construite avec des formules matricielles dynamiques, ce qui limite malheureusement aux versions 365 2021 et 2024.
    Le n° de la dernière FNC se cache en D4, le libellé du bouton renvoie le résultat de la formule en E4.

    le tout est complété par des formats conditionnels
    La feuille est protégée sans mot de passe.
Les 2 feuilles "Modèle FNC" et "Tables" sont cachées

Quelques noms définis :

Année=Accueil!$C$4Cellule contenant l'année choisie
DerNum=Accueil!$D$4Cellule contenant le N° séquentiel de la dernière FNC
Liste_FNC=Accueil!$C$7Cellule contenant la formule qui renvoie la liste des FNC
ListeFeuilles=SI(MAINTENANT();TRANSPOSE(SUBSTITUE(LIRE.CLASSEUR(1);"["&LIRE.CLASSEUR(16)&"]";""));"")Renvoie la liste des feuilles du classeur
(Macro fonction EXCEL4)

Le code de la macro :
VB:
Sub NouvelleFNC()

     Dim N°%, An%, N°FNC$, DateOuverture As Date, Adresse$
     Dim NewFNC As Worksheet
    
     N° = [Dernum] + 1                                                               'Nouveau n°séquentiel
     An = [Année]                                                                    'Année de la FNC
     N°FNC = "FNC-" & An & "-" & Format(N°, "0000")                                  'N° de la FNC
     DateOuverture = Date                                                            'Date d'ouverture de la FNC
     Adresse = WorksheetFunction.VLookup("Date d'ouverture", [TS_Champ], 2, False)   'Adresse où écrire la date d'ouverture
     Contexte = WorksheetFunction.VLookup("Contexte", [TS_Champ], 2, False)          'Adresse du champ Contexte
    
     'Création de la nouvelle FNC
     Sh_FNC.Visible = xlSheetVisible
     Sh_FNC.Copy after:=Sh_Accueil
     Sh_FNC.Visible = xlSheetHidden
     Set NewFNC = ActiveSheet
    
     NewFNC.Name = N°FNC                     'Affecter son nom
     NewFNC.Range(Adresse) = DateOuverture   'Affecter sa date de création
     Application.Goto NewFNC.Range(Contexte) 'Se positionner sur le champ "Contexte"

End Sub

un aperçu :
1741552449691.png


Voir le fichier joint

À bientôt
 

Pièces jointes

Bonsoir à toutes & à tous, bonsoir @jalaba , @sylvanu, @JM27
Peut-être que rien ne sert de courir, mais là je fait vraiment fort dans le style "je prends mon temps" ! 🐢🐌
  • Comme l'a suggéré @sylvanu, c'est plus pratique d'avoir un modèle vierge. Donc je prends !
  • Comme l'ont fait @sylvanu & @JM27 c'est pas mal de faire une feuille d'Accueil. Donc je prends !
  • Il y avait une feuille cachée avec la liste des impacts possibles, je l'ai transformé en feuille "Tables".
    J'y ai mis dans des tableaux structurés les choix possibles (j'ai distingué les 3 cas au cas où il y aurait des changements.
    J'y ai ajouté une table avec les adresses de tous les champs à renseigner de la FNC (par formule si on ajoutait des lignes intercallaires).
  • J'ai ajouté dans la feuille d'accueil le choix de l'année (ça pourrait servir en 2026) et la liste des FNC ouvertes l'année choisie.
    Cette liste est construite avec des formules matricielles dynamiques, ce qui limite malheureusement aux versions 365 2021 et 2024.
    Le n° de la dernière FNC se cache en D4, le libellé du bouton renvoie le résultat de la formule en E4.

    le tout est complété par des formats conditionnels
    La feuille est protégée sans mot de passe.
Les 2 feuilles "Modèle FNC" et "Tables" sont cachées

Quelques noms définis :

Année=Accueil!$C$4Cellule contenant l'année choisie
DerNum=Accueil!$D$4Cellule contenant le N° séquentiel de la dernière FNC
Liste_FNC=Accueil!$C$7Cellule contenant la formule qui renvoie la liste des FNC
ListeFeuilles=SI(MAINTENANT();TRANSPOSE(SUBSTITUE(LIRE.CLASSEUR(1);"["&LIRE.CLASSEUR(16)&"]";""));"")Renvoie la liste des feuilles du classeur
(Macro fonction EXCEL4)

Le code de la macro :
VB:
Sub NouvelleFNC()

     Dim N°%, An%, N°FNC$, DateOuverture As Date, Adresse$
     Dim NewFNC As Worksheet
   
     N° = [Dernum] + 1                                                               'Nouveau n°séquentiel
     An = [Année]                                                                    'Année de la FNC
     N°FNC = "FNC-" & An & "-" & Format(N°, "0000")                                  'N° de la FNC
     DateOuverture = Date                                                            'Date d'ouverture de la FNC
     Adresse = WorksheetFunction.VLookup("Date d'ouverture", [TS_Champ], 2, False)   'Adresse où écrire la date d'ouverture
     Contexte = WorksheetFunction.VLookup("Contexte", [TS_Champ], 2, False)          'Adresse du champ Contexte
   
     'Création de la nouvelle FNC
     Sh_FNC.Visible = xlSheetVisible
     Sh_FNC.Copy after:=Sh_Accueil
     Sh_FNC.Visible = xlSheetHidden
     Set NewFNC = ActiveSheet
   
     NewFNC.Name = N°FNC                     'Affecter son nom
     NewFNC.Range(Adresse) = DateOuverture   'Affecter sa date de création
     Application.Goto NewFNC.Range(Contexte) 'Se positionner sur le champ "Contexte"

End Sub

un aperçu :
Regarde la pièce jointe 1214274

Voir le fichier joint

À bientôt
Merci beaucoup pour votre retour puis je vous demander un conseil, je dois ajouter des information dans la fiche : le nom du client
Bonsoir à toutes & à tous, bonsoir @jalaba , @sylvanu, @JM27
Peut-être que rien ne sert de courir, mais là je fait vraiment fort dans le style "je prends mon temps" ! 🐢🐌
  • Comme l'a suggéré @sylvanu, c'est plus pratique d'avoir un modèle vierge. Donc je prends !
  • Comme l'ont fait @sylvanu & @JM27 c'est pas mal de faire une feuille d'Accueil. Donc je prends !
  • Il y avait une feuille cachée avec la liste des impacts possibles, je l'ai transformé en feuille "Tables".
    J'y ai mis dans des tableaux structurés les choix possibles (j'ai distingué les 3 cas au cas où il y aurait des changements.
    J'y ai ajouté une table avec les adresses de tous les champs à renseigner de la FNC (par formule si on ajoutait des lignes intercallaires).
  • J'ai ajouté dans la feuille d'accueil le choix de l'année (ça pourrait servir en 2026) et la liste des FNC ouvertes l'année choisie.
    Cette liste est construite avec des formules matricielles dynamiques, ce qui limite malheureusement aux versions 365 2021 et 2024.
    Le n° de la dernière FNC se cache en D4, le libellé du bouton renvoie le résultat de la formule en E4.

    le tout est complété par des formats conditionnels
    La feuille est protégée sans mot de passe.
Les 2 feuilles "Modèle FNC" et "Tables" sont cachées

Quelques noms définis :

Année=Accueil!$C$4Cellule contenant l'année choisie
DerNum=Accueil!$D$4Cellule contenant le N° séquentiel de la dernière FNC
Liste_FNC=Accueil!$C$7Cellule contenant la formule qui renvoie la liste des FNC
ListeFeuilles=SI(MAINTENANT();TRANSPOSE(SUBSTITUE(LIRE.CLASSEUR(1);"["&LIRE.CLASSEUR(16)&"]";""));"")Renvoie la liste des feuilles du classeur
(Macro fonction EXCEL4)

Le code de la macro :
VB:
Sub NouvelleFNC()

     Dim N°%, An%, N°FNC$, DateOuverture As Date, Adresse$
     Dim NewFNC As Worksheet
   
     N° = [Dernum] + 1                                                               'Nouveau n°séquentiel
     An = [Année]                                                                    'Année de la FNC
     N°FNC = "FNC-" & An & "-" & Format(N°, "0000")                                  'N° de la FNC
     DateOuverture = Date                                                            'Date d'ouverture de la FNC
     Adresse = WorksheetFunction.VLookup("Date d'ouverture", [TS_Champ], 2, False)   'Adresse où écrire la date d'ouverture
     Contexte = WorksheetFunction.VLookup("Contexte", [TS_Champ], 2, False)          'Adresse du champ Contexte
   
     'Création de la nouvelle FNC
     Sh_FNC.Visible = xlSheetVisible
     Sh_FNC.Copy after:=Sh_Accueil
     Sh_FNC.Visible = xlSheetHidden
     Set NewFNC = ActiveSheet
   
     NewFNC.Name = N°FNC                     'Affecter son nom
     NewFNC.Range(Adresse) = DateOuverture   'Affecter sa date de création
     Application.Goto NewFNC.Range(Contexte) 'Se positionner sur le champ "Contexte"

End Sub

un aperçu :
Regarde la pièce jointe 1214274

Voir le fichier joint

À bientôt
Merci beaucoup pour votre retour, je dois ajouter des éléments sur la fiche et j'aimerais les faire apparaitre dans le tableau accueil je les ai mis en jaune sur ce nouveau fichier.encore merci pour cotre aide
 

Pièces jointes

Bonsoir
A mon avis il faudrait créer une base de données via un userform et créer des fiches de conformité à la demande : inutile de créer des feuilles à chaque non conformité ( diminution de nombre de feuilles dans le fichier). il faudrait donc revoir l'ensemble de ta démarche.
Voir fichier en annexe ( qui n'est pas pour l'instant fonctionnel) uniquement pour visu de l'userform
 

Pièces jointes

Dernière édition:
Bonsoir à toutes & à tous, Bonsoir @jalaba

Voilà j'ai pu regarder.
Si tu dois faire des modifications de ta fiche, fais le dans la feuille "Modèle FNC" (masquée) plutôt que sur un exemplaire de fiche déjà créé 😉

Ensuite regarde la feuille "Tables" (masquée) le tableau structuré "TS_Champ" contient dans sa première colonne le titre des colonnes de la feuille "Accueil" et dans sa deuxième colonne l'adresse des cellules à lire (via une formule qui pointe sur ces cellules de la feuille "Modèle_FNC", comme ça si tu insères des lignes ou des colonnes dans ton modèle, les adresses suivront.)

Maintenant j'ai fait la modif et j'ai ajouté en colonne A une formule de lien hypertexte pour accéder aux fiches directement par un simple clic.
J'ai fait des petits ajustements de présentation et j'ai protégé les fiches pour éviter les modifications suppressions accidentelles des formules.

@JM27, ta remarque est juste, le fichier serait moins lourd en fin d'année, en plus du formulaire de saisie-modification, il faut également prévoir l'impression des fiches.
Là je reste dans la démarche de @jalaba, s'il le souhaite on pourra lui faire un prototype avec un peu plus de VBA.

Voir le fichier joint
À bientôt
Edit : correction faute orthographe dans fichier joint
 

Pièces jointes

Dernière édition:
Bonsoir à toutes & à tous, Bonsoir @jalaba

Voilà j'ai pu regarder.
Si tu dois faire des modifications de ta fiche, fais le dans la feuille "Modèle FNC" (masquée) plutôt que sur un exemplaire de fiche déjà créé 😉

Ensuite regarde la feuille "Tables" (masquée) le tableau structuré "TS_Champ" contient dans sa première colonne le titre des colonnes des la feuille "Accueil" et dans sa deuxième colonne l'adresse des cellules à lire (via une formule qui pointe sur ces cellules de la feuille "Modèle_FNC", comme ça si tu insères des lignes ou des colonne dans ton modèle, les adresses suivront.)

Maintenant j'ai fait la modif et j'ai ajouté en colonne A de une formule de lien hypertexte pour accéder aux fiches directement par un simple clic.
J'ai fait des petits ajustements de présentation et j'ai protégé les fiches pour éviter les modifications suppressions accidentelles des formules.

@JM27, ta remarque est juste, le fichier serait moins lourd en fin d'année, en plus du formulaire de saisie-modification, il faut également prévoir l'impression des fiches.
Là je reste dans la démarche de @jalaba, s'il le souhaite on pourra lui faire un prototype avec un peu plus de VBA.

Voir le fichier joint
À bientôt
Merci infiniment c'est remarquable ce que vous parvenez à faire j'aimerai tant métriser comme vous
 
- 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

Discussions similaires

Réponses
5
Affichages
328
Retour