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 :

copier coller valeur [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut copier coller valeur
    Bonjour à tous

    Une question: j'ai cette ligne de code qui fait un copier coller d'un fichier vers un autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Feuille_Source.Range(Cells(lig, 4), Cells(lig, 15)).Copy Feuille_Cible.Cells(maligne, 98)
    Seulement cette methode copie tout, formule, format.....

    Peut on l'adapter pour ne copier que les valeurs ?

    D'avance merci

  2. #2
    Membre éclairé Avatar de verredewhisky
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Janvier 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Janvier 2013
    Messages : 63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuille_Cible.Cells(maligne, 98).Value = Feuille_Source.Range(Cells(lig, 4), Cells(lig, 15)).Value

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjours,

    Essaie cette Macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub eee()
    Dim source As Range, destination As Range
    Const
    Set source = Workbooks("Classeur1").Worksheets("Feuil1").Range("A1:D6") '.Value
    Set destination = Workbooks("Classeur2").Worksheets("Feuil1").Range("A1:D6") '.Value
     
    destination.Value = source.Value
    End Sub

    -------------------------------------------------------------

    Petite rectif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub eee()
    Dim source As Range, destination As Range
    Dim NomClasseurSource As String: NomClasseurSource = "Classeur1"
    Dim NomFeuilleSource As String: NomFeuilleSource = "Feuil1"
    Dim NomClasseurDestination As String: NomClasseurDestination = "Classeur2"
    Dim NomFeuilleDestination As String: NomFeuilleDestination = "Feuil1"
    Dim PlageDeCelluleCommune As String: PlageDeCelluleCommune = "A1:D6"
     
    Set source = Workbooks(NomClasseurSource).Worksheets(NomFeuilleSource).Range(PlageDeCelluleCommune)
    Set destination = Workbooks(NomClasseurDestination).Worksheets(NomFeuilleDestination).Range(PlageDeCelluleCommune).offset(0,0)
     
    destination.Value = source.Value
     
    End Sub
    Un offset est effectivement possible, j'oubliais presque.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    Bonjour
    Nouveau2
    Pas mal ça marche mais que sur la première cellule j'ai essayé en adaptant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       Dim source As Range, destination As Range
    Set source = Feuille_Source.Range(Cells(lig, 4), Cells(lig, 15)) '.Value '.Value
    Set destination = Feuille_Cible.Range(Cells(maligne, 98), Cells(maligne, 109)) '.Value
     
    destination.Value = source.Value
    Et la jai une erreur sur Set destination

    VerreDeWhisky
    Même remarque ça copie que la première cellule
    J'ai donc adapté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Feuille_Cible.Range(Cells(maligne, 98), Cells(maligne, 109)).Value = Feuille_Source.Range(Cells(lig, 4), Cells(lig, 15)).Value
    Erreur 1004

    sachant que lig et maligne sont des variables et que ces variables ont des valeurs différentes.

    Tout ça pour eviter des .Copy et autre .Select

    Mais merci de vous être penché sur le problème

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    Un grand merci Mercatog

    ça marche très bien

    Je vais de ce pas voir l'aide sur la propriété Resize.

    mais pourquoi dans la ligne

    Feuille_Cible.Cells(maLigne, 98).Resize(1, 12).Value

    Resize(1, 12). pour agrandir la plage de la colonne 99 à 109 ?

    Encore merci à vous tous

  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
    Une remarque nécessaire
    Écriture fausse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuille_Cible.Range(Cells(maligne, 98), Cells(maligne, 109)).Value
    Écriture juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuille_Cible.Range(Feuille_Cible.Cells(maligne, 98), Feuille_Cible.Cells(maligne, 109)).Value

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    Merci pour la remarque
    J'en prend note
    Et faire un essai avec cette éventualité.

    Mais votre solution est je pense la plus adéquate

    Cordialement

  8. #8
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuille_Cible.Cells(maLigne, 98).Resize(1, 12).Value = Feuille_Source.Cells(Lig, 4).Resize(1, 12).Value

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

Discussions similaires

  1. Copier/Coller valeur uniquement.
    Par geoffrey.brunet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2020, 16h23
  2. Debutant copier/coller valeur dernier ligne colonne 13
    Par floflo83 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/11/2009, 15h31
  3. [XL-2003] Copier-coller valeur plante Excel
    Par laurentabj dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 21/08/2009, 16h26
  4. [XL-2003] copier coller valeur en une ligne
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/07/2009, 02h16
  5. Copier/coller valeurs d'une cellule si fichier existant
    Par eddyG dans le forum VBA Access
    Réponses: 7
    Dernier message: 16/10/2007, 13h50

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