Choix de la feuille sur laquelle sapplique la macro
Résolu
Maxxikilla
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Maxxikilla Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Maxxikilla Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je sollicite votre aide pour une question qui me semble toute bete, mais je n'arrive pas à y répondre.
Je veux créer une sorte d'interface, qui serait sur une feuille excel appelée Accueil.
Sur cette interface, l'utilisateur aura plusieurs boutons.
J'assigne des macros à mes boutons, qui correspondent à du traitement d'information.
Le problème est que les feuilles sur lesquelles l'utilisateur utilisera la macros seront amenées à changer au cours du temps (de titre, mais pas de contenu)
Je veux que l'utilisateur, lorsqu'il clique sur le bouton, et sans ouvrir le alt+F11, puisse choisir sur quelle feuille la macro va s'executer.
Je ne sais pas si je suis clair, jespere l'etre un maximum.
p.s: une solution est de demander à l'utilisateur de renommer la feuille d'un nom bien précis, puis d'aller sur sa page accueil et de lancer la macro. Je prendrai cette soltion par défaut, mais je pense qu'il existe mieux
Merci d'avance pour votre aide !
Je sollicite votre aide pour une question qui me semble toute bete, mais je n'arrive pas à y répondre.
Je veux créer une sorte d'interface, qui serait sur une feuille excel appelée Accueil.
Sur cette interface, l'utilisateur aura plusieurs boutons.
J'assigne des macros à mes boutons, qui correspondent à du traitement d'information.
Le problème est que les feuilles sur lesquelles l'utilisateur utilisera la macros seront amenées à changer au cours du temps (de titre, mais pas de contenu)
Je veux que l'utilisateur, lorsqu'il clique sur le bouton, et sans ouvrir le alt+F11, puisse choisir sur quelle feuille la macro va s'executer.
Je ne sais pas si je suis clair, jespere l'etre un maximum.
p.s: une solution est de demander à l'utilisateur de renommer la feuille d'un nom bien précis, puis d'aller sur sa page accueil et de lancer la macro. Je prendrai cette soltion par défaut, mais je pense qu'il existe mieux
Merci d'avance pour votre aide !
A voir également:
- Choix de la feuille sur laquelle sapplique la macro
- Liste déroulante de choix excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Verrouiller cellule excel sans verrouiller la feuille - Guide
4 réponses
Bonjour,
C'est tout simple. Dans tes macros, tu indiques où elle doit s'activer ainsi :
dim numero as integer
numero = activesheets("Feuille principale").range("A1").value
-> tu rentres un numéro dans la case A1 et numero prendra cette valeur.
sheets(numero).activate
Et ta macro s'activera ici :-)
Si tu ne veux pas voir les changements de feuilles et pour que tes macros se finissent plus vite, tu peux écrire cette fonction au début et a la fin de ta macro :
application.screenupdating = FALSE
.
.
.
application.screenupdating = TRUE
J'espère que ca répondra à ta question.
Amicalement
C'est tout simple. Dans tes macros, tu indiques où elle doit s'activer ainsi :
dim numero as integer
numero = activesheets("Feuille principale").range("A1").value
-> tu rentres un numéro dans la case A1 et numero prendra cette valeur.
sheets(numero).activate
Et ta macro s'activera ici :-)
Si tu ne veux pas voir les changements de feuilles et pour que tes macros se finissent plus vite, tu peux écrire cette fonction au début et a la fin de ta macro :
application.screenupdating = FALSE
.
.
.
application.screenupdating = TRUE
J'espère que ca répondra à ta question.
Amicalement
Bonjour
Avez-vous la possibilité de travailler sur un fichier modèle et c'est au moment de la sauvegarde que vous changez le nom du fichier, comme ça vous avez toujours les même noms de feuilles
Ou travailler avec des noms de champs comme cela d'une feuille à l'autre les nom restent identiques
C'est suivant les tâches à réaliser qu'il faut voir la solution possible
Avez-vous la possibilité de travailler sur un fichier modèle et c'est au moment de la sauvegarde que vous changez le nom du fichier, comme ça vous avez toujours les même noms de feuilles
Ou travailler avec des noms de champs comme cela d'une feuille à l'autre les nom restent identiques
C'est suivant les tâches à réaliser qu'il faut voir la solution possible
Re,
Alors, en fait, sur les feuilles que j'ai à traiter, les champs seront toujours les meme.
Plus en details, il s'agit de compta d'une entreprise.
Le petit Soft que je fais aura plusieurs fonctionnalités (afficher des graphiques, calculer les evolutions, isoler le chiffre d'affaire par clients .. ...)
J'importe mes données à partir d'un autre fichier excel.
Pour la fonctionnalité en question, les données dont j'ai besoin seront toujours à la meme place (le range ne changera pas). Il y a par exemple les comptes de janvier, fevrier,octobre ...
En cliquant sur traiter les données dans ma page accueil, j'aimerais ouvrir une nouvelle feuille. Ensuite copier les données a partir d'une feuille x AU CHOIX DE LUTILISATEUR, et les traiter dans la feuille que l'on vient douvrir.
Mon problème est en fait de choisir a partir de quelle feuille les données vont etre copiée..
Alors, en fait, sur les feuilles que j'ai à traiter, les champs seront toujours les meme.
Plus en details, il s'agit de compta d'une entreprise.
Le petit Soft que je fais aura plusieurs fonctionnalités (afficher des graphiques, calculer les evolutions, isoler le chiffre d'affaire par clients .. ...)
J'importe mes données à partir d'un autre fichier excel.
Pour la fonctionnalité en question, les données dont j'ai besoin seront toujours à la meme place (le range ne changera pas). Il y a par exemple les comptes de janvier, fevrier,octobre ...
En cliquant sur traiter les données dans ma page accueil, j'aimerais ouvrir une nouvelle feuille. Ensuite copier les données a partir d'une feuille x AU CHOIX DE LUTILISATEUR, et les traiter dans la feuille que l'on vient douvrir.
Mon problème est en fait de choisir a partir de quelle feuille les données vont etre copiée..
Merci rEVOLV3r, ca m'a bien aidé !!
Au final, ca donne ca (au niveau du code):
sub test()
Dim numero As String
'L3 correspond à la case ou l'utilisateur indique le nom de l'onglet sur lequel il va 'traiter l'information
numero = Sheets("Accueil").Range("L3").Value
Sheets(numero).Activate
'mettre le traitement que l'on veut effectuer ci-dessous...
Range("A1").Select
End sub
Au final, ca donne ca (au niveau du code):
sub test()
Dim numero As String
'L3 correspond à la case ou l'utilisateur indique le nom de l'onglet sur lequel il va 'traiter l'information
numero = Sheets("Accueil").Range("L3").Value
Sheets(numero).Activate
'mettre le traitement que l'on veut effectuer ci-dessous...
Range("A1").Select
End sub
Est ce que "numéro" peut prendre en paramètres des noms, par exemple "GRAND livre 02-13" ?
numero = activesheets("Accueil").range("A1").value (dans A1, on met GRAND livre 02-13)
sheets('GRAND livre 02-13'!).activate
Est ce que ca pourrait fonctionner ?