Choix de la feuille sur laquelle sapplique la macro
Résolu/Fermé
Maxxikilla
Messages postés
40
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
23 juillet 2013
-
7 juin 2013 à 10:09
Maxxikilla Messages postés 40 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 23 juillet 2013 - 7 juin 2013 à 11:25
Maxxikilla Messages postés 40 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 23 juillet 2013 - 7 juin 2013 à 11:25
A voir également:
- Choix de la feuille sur laquelle sapplique la macro
- Liste déroulante de choix excel - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Feuille de pointage excel - Télécharger - Tableur
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
7 juin 2013 à 10:38
7 juin 2013 à 10:38
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
PHILOU10120
Messages postés
6368
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
22 avril 2024
796
7 juin 2013 à 10:30
7 juin 2013 à 10:30
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
Maxxikilla
Messages postés
40
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
23 juillet 2013
7 juin 2013 à 10:46
7 juin 2013 à 10:46
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..
Maxxikilla
Messages postés
40
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
23 juillet 2013
7 juin 2013 à 11:25
7 juin 2013 à 11:25
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
Modifié par Maxxikilla le 7/06/2013 à 11:04
Est ce que "numéro" peut prendre en paramètres des noms, par exemple "GRAND livre 02-13" ?
7 juin 2013 à 11:09
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 ?