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 :

Référence pour une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut Référence pour une cellule
    Bonjour,

    je cherche à indiquer l'adresse d'une plage de données qui vont être copiées puis placé dans une autre feuille. En fait je Récupère 2 valeurs X et Y que je stock dans deux variables "Ref" et "NvRef". Ensuite je vais récupérer la dernière valeur de la ligne qui est non-vide
    Ce que je sais pas faire c'est indiqué le repère dans "Range". Est-ce possible ?

    Bout de mon code (le code est juste à titre explicatif):

    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
     
     
    Sub copie()
    Dim ref As Integer
    Dim Nvref As Integer
    Dim DL As Integer
     
    Ref = X ' considérons que X est un code qui copie une valeur d'une autre feuille pour me servir de repère.
    Nvref = Y 'Idem que X
    DL = Range("A" & Rows.Count).End(xlUp).Row 'je récupère la dernière ligne de ma feuille
     
    Range("A"&Ref : "B"&DL).Copy Feuil4.Range("A"&NvRef) ' Cest quelque chose comme cela que je souhaite faire et je sais pas si ça se fait et comment bien écrire le code
    'ref, Nvref et DL sont dynamiques et sont amenés à changer de valeur et c'est pour cela que je veux une formule qui copie et colle en fonction de la valeur de "Ref" et "Nvref"
     
    End Sub
    Merci par avance pour vos réponses

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ton code n'est pas très loin d'être fonctionnel.
    Comme ça il devrait mieux fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & Ref & ":B" & DL).Copy Feuil4.Range("A" & NvRef)
    Il y a une chose qu'il faut garder en tête : la référence dans un Range est une chaine de caractère.
    A ce titre, on peut la composer par concaténation comme n'importe quelle chaine.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut
    Merci j'ai essayé et ça marche !!!
    Cependant est-ce possible dans ce contexte de "Couper/Coller" plutôt que de "Copier/Coller" ?
    Si oui comment ?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A" & Ref & ":B" & DL).Cut 
    Feuil4.Range("A" & NvRef).PasteSpecial(xlPasteAll)

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La méthode Cut comme Copy a un argument Destination. Il ne faut donc pas passer par une ligne supplémentaire utilisant la méthode Paste ou PasteSpecial
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A" & Ref & ":B" & DL).Cut 
    Feuil4.Range("A" & NvRef).PasteSpecial(xlPasteAll)
    Quand je le met dans mon code et que je compile j'ai une erreur : Erreur d'exécution '1004' Erreur definie par l'application ou par l'objet

  7. #7
    Membre éclairé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2017
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 556
    Par défaut
    Bonjour schapl

    Est-ce que vous avez faite ce que monsieur Tulliez a dit au post précédent ?

    Si oui, avez-vous toujours l'erreur ???

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 06/08/2009, 10h55
  2. Formule pour une cellule vide
    Par sfourre dans le forum Excel
    Réponses: 3
    Dernier message: 08/01/2008, 08h19
  3. Menu contextuel pour une cellule donnée et non l'ensemble
    Par roudy78 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/07/2007, 14h44
  4. référence relative à une cellule saisie
    Par Peanut dans le forum Excel
    Réponses: 14
    Dernier message: 13/07/2007, 15h15
  5. Pb fonction max pour une cellule
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 22/11/2006, 15h12

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