Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Actionner les commandes présentes dans d'autres feuilles

arnoldbrice19

XLDnaute Nouveau
Bonjour à tous, et surtout, félicitation à tous les développeurs d'Excel !

J'ai une grosse préoccupation avec mon fichier (ci-joint), et je sollicite votre aide.
Avant tout, je suis novice dans la conception de fichier Excel prenant en charge les macros, pour ne pas dire que je n'en sais trop rien sur les codes VBA. Je dirai plutôt que j'apprends en bon lecteur.

En effet, l'idée du projet est de créer dans la première feuille (MENU) des boutons d'accès rapide pour pouvoir naviguer avec aisance dans le document. La majorité des macros ont déjà été affecter à chaque bouton.
Cependant, j'ai des difficultés à trouver les codes VBA pour :
- Mettre la nouvelle feuille à l'avant dernière position, c'est-à-dire avant la feuille (DONNEES), par simple clic sur le bouton "AJOUTER UN MEMBRE" ;
- Copier une plage de données d'une feuille à l'autre, avec bien-sur toutes les mises en forme source, par simple clic sur le bouton "COPIER LES DONNEES" ;
- Réninitialiser toutes les plages de cellules intégrées dans les codes de chaque feuille du projet VBA, pas des modules, par simple clic sur le bouton "REMISE A ZERO" de la feuille (MENU) ; etc..

_________module 3 : Le premier problème consiste à mettre à jour le code de la macro "ajouter_feuille" avant que la nouvelle feuille aille se placer à l'avant de la dernière feuille, selon les positions des feuilles.
VB:
Sub ajouter_feuille()
Dim i As Integer
Dim y As String
ActiveWorkbook.Sheets.Add
ActiveSheet.Name = "Nouveau Membre"
End Sub
_________module 5 : Le second problème consiste à faire en sorte que cette nouvelle feuille (Nouveau Membre) intègre les données de la feuille (DONNEES), par copie, après qu'elle soit créée, ou bien par simple clic selon mon idée secondaire, vue que je ne parvenait pas trouver le bon code.
_________module 2 : Concernant le troisième, des boutons boutons (EFFACER LES DONNEES) ont été créés à cet effet, mais pour chaque feuille. L'idée ici est de créer une macro qui actionne simultanément ces boutons ou encore, créer une macro qui réinitialisera les plages de cellules (cellules fusionnées y compris) indiquées dans les codes macros constituants des différentes feuilles résumés ci-après :
**De la première à la dernière feuille /-EXCLUS LES FEUILLES 27 & 13 QUI ONT RESPECTIVEMENT LA 1er ET 2nd POSITION DANS LE CLASSEUR
VB:
Sub Efface()
Range("B14:J33, K9:L9, K14:O33").ClearContents
End Sub
**La feuille 13 nommée (RECAP) est constituée de manière différente
VB:
Sub Efface()
Range("A9:A20, B8:G8, H8:H20, J8:J20, K8:K20, M8:R8, P28:R63,R9:R20").ClearContents
End Sub
**La feuille 27 représente le menu de navigation rapide

CORFERT module 1 pour dévérouiller les onglets.

Merci d'avance à tous !
 

Pièces jointes

  • FICHE SUIVI REUNION.xlsm
    416.2 KB · Affichages: 3
Solution
Bonjour @arnoldbrice19

Tu poses plein de questions en même temps :
Le principe du forum c'est une question ==> une ou plusieurs réponses de 1 ou plusieurs intervenants

1) Question 1
- Mettre la nouvelle feuille à l'avant dernière position, c'est-à-dire avant la feuille (DONNEES), par simple clic sur le bouton "AJOUTER UN MEMBRE" ;

VB:
Sub ajouter_feuille()
Dim i As Integer
Dim y As String
ActiveWorkbook.Sheets.Add After:=Sheets(Sheets.Count - 1)
ActiveSheet.Name = "Nouveau Membre"
End Sub


2) Question 2
- Copier une plage de données d'une feuille à l'autre, avec bien-sur toutes les mises en forme source, par simple clic sur le bouton "COPIER LES DONNEES" ;
Manque total de précision
En principe...

Phil69970

XLDnaute Barbatruc
Bonjour @arnoldbrice19

Tu poses plein de questions en même temps :
Le principe du forum c'est une question ==> une ou plusieurs réponses de 1 ou plusieurs intervenants

1) Question 1
- Mettre la nouvelle feuille à l'avant dernière position, c'est-à-dire avant la feuille (DONNEES), par simple clic sur le bouton "AJOUTER UN MEMBRE" ;

VB:
Sub ajouter_feuille()
Dim i As Integer
Dim y As String
ActiveWorkbook.Sheets.Add After:=Sheets(Sheets.Count - 1)
ActiveSheet.Name = "Nouveau Membre"
End Sub


2) Question 2
- Copier une plage de données d'une feuille à l'autre, avec bien-sur toutes les mises en forme source, par simple clic sur le bouton "COPIER LES DONNEES" ;
Manque total de précision
En principe on part d'un modèle et on copie ce modèle en lui donnant un nouveau nom

3Question 3
- Réninitialiser toutes les plages de cellules intégrées dans les codes de chaque feuille du projet VBA, pas des modules, par simple clic sur le bouton "REMISE A ZERO" de la feuille (MENU) ; etc..
J'ai rien compris

Perso :
Ton fichier me chagrine un peu vu le nombre de feuille que tu as.
J'aurais fais :
-Une feuille menu (comme toi)
-Une feuille recap (comme toi)
-Une feuille BDD Nom (avec un ID pour chaque nom c'est ta clé qui relie le nom d'un coté avec les dates et somme de l’autre)
-Une feuille de versement (avec ID des personnes pour le lien avec la BDD)
-Une feuille modèle qui récupère les infos de chaque personne (BDD) et les versements en fonction de la personne à visualiser.

Total tu as 5 feuilles max mais il faut tout revoir ......

@Phil69970
 

arnoldbrice19

XLDnaute Nouveau
 

arnoldbrice19

XLDnaute Nouveau

J'ai trouver une solution à cette question en faisant un "Enregistrement Macro".
 

Discussions similaires

Réponses
10
Affichages
357
Réponses
14
Affichages
356
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…