IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Passage de paramètre dans la macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut Passage de paramètre dans la macro
    Bonsoir,
    Je fais appel à votre sagacité pour me donner un petit coup de pouce. Je suis ennuyé pour le process ci-dessous:
    En clair, tous les mois, le traitement doit être répété mais cette fois ci en atteignant directement l'onglet FEVRIER au lieu de JANVIER
    Comment passer automatiquement "en parametre" Février puis Mars, etc... ?
    J'avais bien pensé à une InputBox, mais suis un peu stoppé avec la manière d'appréhender le sujet...
    Par avance merci de votre aide
    Cordialement,
    -------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub RECUP_1()
    'Masque le défilement de la macro
        Application.ScreenUpdating = False
    ' 1-Début de traitement fichier N°1
        'Ouverture du fichier
        Workbooks.Open Filename:= _
            "G:\REPORTING_GP1.xls"
        Windows("REPORTING_GP1.xls").Activate
        Worksheets("JANVIER").Activate
        Range("B2").Select
        Selection.Copy
        Windows("COMPILATION.xls").Activate
        Range("A8").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    'Fermeture du fichier sans confirmation si modifications
        Windows("REPORTING_GP1.xls").Activate
        ActiveWorkbook.Saved = True
        ActiveWorkbook.Close
     ' 2-Fin de traitement fichier
    End Sub

  2. #2
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    "Le Titre du sujet n'est pas adéquat" peux-tu le changer STP


    Dans ta question, tu fournis déjà la réponse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("JANVIER").Activate
    tu veux passer automatiquement à Février puisqu'on est en février c ça,
    Donc ton passage au mois suivant est fonction de la date actuelle si j'ai bien compris.

    si C'est le cas, bah tu déclares une variable string qui va te faire le travaille, comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim MonOnglet As String
     
    MonOnglet = UCase(MonthName(Month(Now())))
    et tu remplaces ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("JANVIER").Activate
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(MonOnglet).Activate
    et le tour est joué.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut
    Merci Casavba pour cette brillante démonstration..
    Je note précieusement cette "approche" du sujet , pouvant par la suite y avoir recours !
    Toutefois, mon souci est un peu différent :
    Je souhaite plus précisément pouvoir "saisir" le mois que je souhaite traiter..
    Une suggestion ?

  4. #4
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    Le saisir où?

    si c'est dans une Cellule par exemple A2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim MonOnglet As String
    MonOnglet = Range("A2").Value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(MonOnglet).Activate
    A toi d'adapter la réponse à ton besoin

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut
    Je le disais précédemment :
    Du grand art

    A la lecture de ta réponse, la solution est devenue évidente !

    Un grand merci à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passage de paramètres dans une macro
    Par JIM77420 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/04/2008, 11h59
  2. passage de paramètres dans l'invite de commande
    Par mr_neness dans le forum Langage
    Réponses: 10
    Dernier message: 18/11/2005, 15h01
  3. Passage de paramètres dans champ hidden
    Par benassis dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/05/2005, 01h22
  4. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  5. Passage de paramètres dans une requête imbriquée
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2005, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo