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 :

Recopier de valeur jusqu'à la dernière ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Par défaut Recopier de valeur jusqu'à la dernière ligne
    Bonjour je recherche la façon de recopié une valeur jusqu'à la dernière ligne de la colonne adjacente. Au début j'avais fusionné les cellules mais la je dois copié la valeur. Voici mon premier code:
    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
        'Merge the Date cell to the last filled cell
        Set Ws = Sheets("Quotations compiled")
        DerLig = Ws.Cells(Ws.Columns(9).Cells.Count, 9).End(xlUp).Row
     
        With Ws
            'Je détermine le numéro de la dernière ligne renseignée dans la colonne I
            DerLigI = .Range("I" & .Rows.Count).End(xlUp).Row
            'Je détermine le numéro de la dernière ligne renseignée dans la colonne O
            DerLigO = .Range("O" & .Rows.Count).End(xlUp).Row
            'J'effectue la recopie incrémentée dans la colonne O
             Set Plage = .Range(.Range("O" & DerLigO), .Range("O" & DerLigI))
            'J'effectue la copie de la derniere cellule dans la colonne O
            .Range("O" & DerLigO) = .Range("O" & DerLigO)
            'J'effectue la fusion de la plage
            Plage.Merge
    Ce code fusionne la cellule jusq'à la dernière ligne de la colonne adjacente. Je voudrais maintenant copié ma valeur du haut jusqu'à ma dernière ligne. Mais comment???

    Merci de l'aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Avec AutoFill :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    With ws
     
        'Je détermine le numéro de la dernière ligne renseignée dans la colonne I
        DerLigI = .Range("I" & .Rows.Count).End(xlUp).Row
        'Je détermine le numéro de la dernière ligne renseignée dans la colonne O
        DerLigO = .Range("O" & .Rows.Count).End(xlUp).Row
        'J'effectue la recopie incrémentée dans la colonne O
        Range("O1:O" & DerLigO).AutoFill .Range("O1:O" & DerLigI)
     
    End With
    Hervé.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Par défaut
    Ça ne fonctionne pas bien. Voici le résultat en pièce jointe.

    Idéalement la première cellule de la colonne "O" doit être copié jusqu'à la dernière cellule rempli de la colonne "I".

    Merci de l'aide
    Images attachées Images attachées  

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Par défaut
    J'ai trouvé une façon de recopier la valeur de ma première cellule de ma colonne "O" le seul problème c'est que j'ai dû nommé la cellule dans le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        'Je détermine le numéro de la dernière ligne renseignée dans la colonne I
        DerLigI = .Range("I" & .Rows.Count).End(xlUp).Row
        'Je détermine le numéro de la dernière ligne renseignée dans la colonne O
        DerLigO = .Range("O" & .Rows.Count).End(xlUp).Row
        'J'effectue la recopie incrémentée dans la colonne O
        Range("O14:O" & DerLigO).AutoFill .Range("O14:O" & DerLigI)
    Ce ne sera pas toujours la cellule "O14" qui sera a recopié. Comment faire pour indiqué la première cellule?

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Peut-être avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Je détermine le numéro de la dernière ligne renseignée dans la colonne I
    DerLigI = .Range("I" & .Rows.Count).End(xlUp).Row
    'Je détermine le numéro de la dernière ligne renseignée dans la colonne O
    DerLigO = .Range("O" & .Rows.Count).End(xlUp).Row
    'J'effectue la recopie incrémentée dans la colonne O
    Range("O" & DerLigO).AutoFill .Range(.Cells(DerLigO, "O"), .Cells(DerLigI, "O"))
    Cordialement.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 114
    Par défaut
    Ça fonctionne presque...cependant mes valeurs augmente

    Si ma première cellule à copier contient 13 - February la cellule copier sera 14 - February.

    Comment je fais pour conserver exactement la même valeur que dans la première cellule???

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

Discussions similaires

  1. boucle "jusqu'à la dernière ligne"
    Par tallent_e dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2011, 18h36
  2. [XL-2000] recopier des cellules en cherchant dernière ligne
    Par kadoche dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/02/2011, 15h46
  3. [XL-2003] code copier formule jusqu'à la dernière ligne
    Par ridokou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2011, 14h56
  4. [XL-2003] Insertion de ligne vierges, recopie de valeur et suppression de ligne référente.
    Par zewho dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/12/2009, 08h31
  5. scrollpanel non visible jusqu'à la dernière ligne
    Par cotede2 dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 08/11/2009, 16h32

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