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

  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

  7. #7
    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
    Ça marche.
    Je m'étais un peu embrouillé en reprenant comme modèle une macro automatique.
    L'instruction que tu me donnes est beaucoup plus simple. J'ai appris quelque chose et je t'en remercie.
    Cordialement.

  8. #8
    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
    Encore un question.

    Comment utiliser 'Collage spécial --> Transposé' ?
    Parce que j'ai une liste que je place horizontalement.
    Dans une macro automatique, ça marche. Le moyen serait-il d'appeler la macro depuis un code VBA ?

    Cordialement.

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