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 :

Range avec variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut Range avec variable
    Bonjour,

    Voici 2 bouts de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Listes_1").Select
        Range("listeFonctions_2").Select
        Selection.Copy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Listes_1").Select
        Range(listeFonctions_2).Select
        Selection.Copy
    qui ne marchent ni l'un ni l'autre.

    ' listeFonctions_2' est le nom d'une zone déjà définie.
    Comment doit-on écrire une variable dans la méthode Range ?
    Avec ou sans guillemets, je n'y arrive pas.

    Merci si vous pouvez m'aider.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    sans les select et avec les guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Listes_1").Range("listeFonctions_2").Copy

  3. #3
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut
    Merci mercatog,

    mais ça ne marche pas non plus...

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub copierListes()
     
        Sheets("Listes_1").Range("listeFonctions_2").Copy
        Sheets("Listes_3").Select
         .....
    Pourquoi ?

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu veux copier où?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub copierListes()
     
    Sheets("Listes_1").Range("listeFonctions_2").Copy Sheets("Listes_3").range("A1") 'par exemple
    end sub
    te copie à partir de A1 de la feuille Listes_3

    Evite les select, d'autant plus que si ta macro est dans le module de feuille

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut
    Voici le cod corrigé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub copierListes()
     
        Sheets("Listes_1").Activate
        Sheets("Listes_1").Range("listeFonctions_2").Copy Sheets("Listes_3").Select.Range("A1").Paste
     
    End Sub
    J'obtiens: erreur Objet requis.
    Si j'appelle 'listeFonctions_2' avec Ctrl+T, ça vient bien.
    Après l'erreur, c'est la feuille 'Listes_1' qui est visible, mais sans les listes. Il faut que je clique sur son onglet pour que les listes qui y sont apparaissent.
    Que se passe-t-il ?

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    si tu copiais seulement le code que je t'avais proposé?
    c'est quoi ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Listes_3").Select.Range("A1").Paste
    certainement pas du vba!
    je re écris la sub (n'adapte rien sauf la cellule de destination, j'avais mis A1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub copierListes() 
    Sheets("Listes_1").Range("listeFonctions_2").Copy Sheets("Listes_3").range("A1") 'A1 par exemple
    end sub

Discussions similaires

  1. range avec Variable
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/07/2013, 19h54
  2. Pb syntaxe range avec variable
    Par rob1son76 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2012, 15h33
  3. L'objet range avec variables et concatenation
    Par bigmousse69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/01/2009, 18h52
  4. Range avec Variable
    Par argal dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2008, 10h39
  5. Réponses: 2
    Dernier message: 05/07/2007, 14h24

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