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 :

Déclaration de variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2012
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 60
    Par défaut Déclaration de variables
    Bonjour le forum,

    Je débute VBA et voudrais vous solliciter concernant un problème de déclaration des variables.

    Je souhaite faire les mêmes manipulations dans deux feuilles excel, donc pour éviter de répéter les mêmes codes, j'écris ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    i = 1
    While i <= 2
        Workbooks.Open ("........SAS\092013\Risk_" & i & ".xls")
        "data" &i = Workbooks("Risk_" & i & ".xls").Worksheets("RISK_" & i)
     
        "data"& i.Activate
        "data"i.Cells.Select
        Selection.Copy
        "Risk_"&i.Activate
        Range("B1").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    wend
    Comme vous pouvez voir, je voulais renommer les feuilles excel data2 et data1, mais cela ne fonctionne pas en faisant "data" & i (for i = 1 to 2)

    J'espère avoir été claire... quelqu'un pourrait m'aider svp?

    Merci beaucoup!!

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Citation Envoyé par EngueEngue Voir le message

    Pourquoi faire compliqué quand on peut faire simple ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Je pense que ce qui ne plait pas c'est ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "data" &i = Workbooks("Risk_" & i & ".xls").Worksheets("RISK_" & i)
    Il faut que tu mette ce genre d'informatind ans une autre variable, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NomF = "data" &i
    NomF = Workbooks("Risk_" & i & ".xls").Worksheets("RISK_" & i)
    Et après tu le remplace partout où tu l'as mis.


    En grosse maille ça donnerais ça :

    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
     
    i = 1
    NomF = "data" & i
    NomClasseur = Risk_ " & i
    While i <= 2
        Workbooks.Open ("........SAS\092013\"  & NomClasseur & ".xls")
         = Workbooks(NomClasseur & ".xls").Worksheets(NomClasseur)
     
        Sheets(NomF).Activate
        Sheets(NomF).Cells.Select
        Selection.Copy
        Workbooks(NomClasseur).Activate
        Range("B1").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    wend
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

Discussions similaires

  1. déclaration de variable public
    Par mathieu57 dans le forum MFC
    Réponses: 5
    Dernier message: 15/09/2005, 17h36
  2. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18
  3. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  4. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  5. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43

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