Donner le nom de la feuille a extraire avant lancement de la macro

verolyde

XLDnaute Nouveau
Bjr,

Je lance une macro qui récupère dans plusieurs fichiers excel, un onglet choisit (ex : SEM3).

Dans ma macro, qui marche trés bien, je dois modifier la semaine à chaque fois que je l'utilisse pour une autre semaine. Je souhaiterai lui donner le nom de la semaine qu'au début du lancement de la macro et elle s'exécuterai en allant chercher le bon onglet. Actuellement, je modifie ma macro avant de l'utiliser en changeant à l'interieur (ex : SEM3 par SEM4)...

Peut-être en créant, un userform ou combox.... J'avoue que je ne sais pas... mais de ce fait, je dois modifier un peu ma macro... :confused:

Merci de votre aide !

Verolyde
 

Pièces jointes

  • TEST SEM.xls
    25 KB · Affichages: 61

Modeste

XLDnaute Barbatruc
Re : Donner le nom de la feuille a extraire avant lancement de la macro

Bonjour verolyde,

Sans autre précision de ta part, difficile de proposer: on pourrait imaginer une liste déroulante affichant les noms des feuilles présentes dans le fichier que tu ouvres (ce qui éviterait les fautes de frappes).
Une autre solution, simple à mettre en oeuvre, serait de travailler avec un InputBox ... c'est toi, dès lors, qui saisis le nom de la feuille.

Remplace
Code:
Sheets("Sem3").Select

Par:
VB:
nomFeuille = InputBox("Indiquez ci-dessous le nom de la feuille")
Sheets(nomFeuille).Select '...Si la sélection est vraiment nécessaire!?
 

pierrejean

XLDnaute Barbatruc
Re : Donner le nom de la feuille a extraire avant lancement de la macro

Bonjour verolyde
Salut Modeste (ne le sois pas trop)

Une possibilité

Code:
Sub SEMYVELN(semaine)
Workbooks.Open Filename:= _
        "...DECOMPTES HEURES\DH VONTH12.xls"
    Sheets(semaine).Select
    Sheets(semaine).Copy Before:=Workbooks(semaine & ".xls").Sheets(1)
    ActiveSheet.Unprotect Password:="adm"
    Range("C4:E4").Select
    Selection.Copy
    Sheets(semaine).Select
    Sheets(semaine).Name = "VONTH"
    Application.CutCopyMode = False
    Windows("DH VONTH12.xls").Activate
    Workbooks("DH VONTH12.xls").Close savechanges:=False
Workbooks.Open Filename:= _
        "...\DECOMPTES HEURES\DH RES12.xls"
    Sheets(semaine).Select
    Sheets(semaine).Copy Before:=Workbooks(semaine & ".xls").Sheets(1)
    ActiveSheet.Unprotect Password:="adm"
    Range("C4:E4").Select
    Selection.Copy
    Sheets(semaine).Select
    Sheets(semaine).Name = "RES"
    Application.CutCopyMode = False
    Windows("DH RES12.xls").Activate
    Workbooks("DH RES12.xls").Close savechanges:=False
End Sub


Sub lancer()
x = InputBox("Quelle semaine voulez-vous ?")
Call SEMYVELN(x)
End Sub
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Donner le nom de la feuille a extraire avant lancement de la macro

re-Pierre,

Je dirais bien que je l'avais vue, ta "bourde" ... mais il n'en était rien, rigoureusement rien (et désespérément rien :eek:).
J'espère par ailleurs, que quand je parlais de nécessaire modestie, tu ne t'es pas senti visé: l'effet serait encore plus désespérément contreproductif (et la remarque injustifiée, en plus)
 

pierrejean

XLDnaute Barbatruc
Re : Donner le nom de la feuille a extraire avant lancement de la macro

Re

Mais non, je ne me suis pas senti visé !!
Ne te tortures pas , nous sommes ce que nous sommes et il n'est pas interdit de penser avoir certaines compétences et/ou qualités
 

verolyde

XLDnaute Nouveau
Re : Donner le nom de la feuille a extraire avant lancement de la macro

Merci à Pierre Jean.

J'ai testé la macro... mais rencontre quelques soucis. Je "travailles" dessus et reviens vers vous certainement pour une aide complémentaire...

Merci encore !

Verolyde
 

Discussions similaires

Statistiques des forums

Discussions
312 697
Messages
2 091 077
Membres
104 753
dernier inscrit
FLIS