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 sans les formules


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut Copier/Coller sans les formules
    Bonjour

    J'ai une colonne "B5" dans ma feuille Index que je voudrais copier et coller dans la feuille plusieur feuille du même classeur sans Formules.
    J'avais fait ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Index").Range("B5:B1500").Copy Destination:=Sheets("Patch").Range("B5")
    Mais sa colle les uniquement les formules

    Je vous remercie d'avance

    Max

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Sans VBA
    Collage Spécial Valeurs

    Avec VBA
    PasteSpecial

    Aide VBA sur ce lien
    PasteSpecial

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    essayez avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Index").Range("B5:B1500").copy
    Sheets("Patch").Range("B5").PasteSpecial Paste:=xlPasteValues

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour Marcel

    Oui je suis aller voir le lien j'ai essayer sans résultat. Je ne suis pas doué pour le VBA

    Merci

    Max

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Salut BENNASR

    Nickel je te remercie et te souhaite une bonne soirée

    Max

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour apdf, BENNASR, Bonjour le Forum,

    apdf,

    Sauf erreur, BENNASR et moi-même t'avons, en définitive, donné la même indication.

    BENNASR,

    Pour compléter, je dirais qu'il est opportun de quitter le mode copy après collage (ce que ne stipule d'ailleurs pas l'aide Microsoft)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CutCopyMode = False
    Cela revient, sur le tableur, à désactiver les pointillés qui délimitent la zone à copier.

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour Marcel

    Ton idée est pertinente mais j'ai voulu la joindre au code de BENNASR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Index").Range("A5:A1500").copy Application.CutCopyMode = False
    Sheets("Patch").Range("B5").PasteSpecial Paste:=xlPasteValues
    sa me donne un message d'erreur "La méthode copy de la classe range a echoué"

    Alors je suppose que j'ai du faire une erreur?

    Merci

    Max

  8. #8
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    sa me donne un message d'erreur "La méthode copy de la classe range a echoué
    Normal.
    C'est logiquement dans le sens inverse.
    - copie
    - collage
    - quitter le mode Copy

  9. #9
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Ok, sur mon classeur J'ai 19 onglets et a partir de l'onglet nommé "Index" je doit copier et coller les colonnes "B, C, et D" Dans certains onglets
    je suis obligé du moins je crois d'employé ce code pour chaque onglet: une partie du 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
    16
    17
    18
    19
    20
    Sheets("Index").Range("A5:A1500").copy
    Sheets("Patch").Range("B5").PasteSpecial Paste:=xlPasteValues
     
    Sheets("Index").Range("B5:B1500").copy
    Sheets("Lien_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
    Sheets("Index").Range("A5:A1500").copy
    Sheets("Lien_cantons").Range("C5").PasteSpecial Paste:=xlPasteValues
     
    Sheets("Index").Range("A5:A1500").copy
    Sheets("Texte_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
     
    Sheets("Index").Range("B5:B1500").copy
    Sheets("List-Bloc_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
    Sheets("Index").Range("A5:A1500").copy
    Sheets("List-Bloc_cantons").Range("D5").PasteSpecial Paste:=xlPasteValues
     
    Sheets("Index").Range("A5:A1500").copy
    Sheets("image_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
     
    Application.CutCopyMode = False
    Y à t-il pas plus simple à faire?

    Max

  10. #10
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Le presse papier reste actif jusqu'à certains évènements. (Echap...)
    Dans ce cas, la copie peut s'effectuer communément vers les autres feuilles.

    A adapter. Je me suis peut-être trompé dans l'adressage mais l'idée est celle-ci.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Option Explicit
     
    Public Sub lacopie()
     
    Application.ScreenUpdating = False
     
    With Worksheets("Index")
     
            .Range("A5:A1500").Copy
            Worksheets("Patch").Range("B5").PasteSpecial Paste:=xlPasteValues
            Worksheets("Lien_cantons").Range("C5").PasteSpecial Paste:=xlPasteValues
            Worksheets("Texte_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
            Worksheets("List-Bloc_cantons").Range("D5").PasteSpecial Paste:=xlPasteValues
            Worksheets("image_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
     
            .Range("B5:B1500").Copy
            Worksheets("Lien_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
            Worksheets("List-Bloc_cantons").Range("B5").PasteSpecial Paste:=xlPasteValues
            Application.CutCopyMode = False
     
    End With
     
    End Sub

  11. #11
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Je te remercie mais pourrez tu me dire pourquoi il me copie aussi les formules dans les cellule vide?

  12. #12
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    pourrez tu me dire pourquoi il me copie aussi les formules dans les cellule vide?
    Ce n'est pas la copies des formules qui s'exécute mais celle des valeurs.

    D'autre part, c'est ce qui est codé. Non?
    Regarde les adresses de destination et adapte éventuellement le code à la structure de tes feuilles.

  13. #13
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Oui mais dans les colonnes "A & C" Il y a des formules de la ligne 5 à la ligne 1500. et quand je copie sa me copie les valeurs dans les cellules et les autres cellule dessous j'ai les formules?

  14. #14
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    la réponse de marcel consiste à ajouter une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
    Sheets("Index").Range("B5:B1500").copy
    Sheets("Patch").Range("B5").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    End Sub

  15. #15
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Salut BENNASR

    Je m’en sort plus avec se copie coller

    Je te joint un fichier exemple.
    dans les colonnes "B5 et D1500" il y a des formules de la feuille "Index" et quand je copie les valeurs dans la feuille nommé"Path" on les retrouve indirectement.
    Fichiers attachés Fichiers attachés

  16. #16
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    adpf,

    Avant VBA
    Pourrais-tu prendre un peu de recul en pensant aux actions que tu veux voir réalisées.
    Quelles cellules copier?
    Vers quelle destination?

    Pourrais-tu effectuer un essai, sur Excel (donc sans VBA)
    Eventuellement en t'accompagnant de l'enregistreur de macro.

    Et adapter le code à ce besoin.

    Que dire de plus?

  17. #17
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    re
    ton code fonctionne et fait le copie coller de la feuille index à la feuille Path
    je comprends pas ton soucis
    merci d'expliquer

  18. #18
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Si tu tire la colonne "E" vers le bas alors que j'ai mis dans mes cellules "E" =SI(ESTVIDE(B5);"";" si dans la colonne"B28 ...."sont vide il devrai pas y avoir de valeur a partir de la colonne E28.....?

  19. #19
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    re
    remplacer ta formule en colonne E (ajouter si B <>"" alors

    SI(B28<>"";SI(ESTVIDE(B28);"";"<g><a id=""region-"&TEXTE(A28;"00")&""" xlink:href="""&D28&"/"&B28&".html"" target=""myframe""data-img=""img"&A28&"""data-txt="" "&C28&""">");"")
    Fichiers attachés Fichiers attachés

  20. #20
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Re,

    Oui c'est se que j'avais fait.

    Je te remercie et te souhaite une bonne soirée

    Max

Discussions similaires

  1. [LibreOffice][Tableur] Copier/Coller plage de cellules sans les formules en macro basic
    Par mike76 dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 30/08/2016, 08h59
  2. Copier coller sans la formule
    Par mogo107 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2013, 03h36
  3. [XL-2010] Copier des cellules ( sans les formules)
    Par PhilGood11 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/02/2012, 15h21
  4. [XL-2003] Copier feuille d'un classeur à un autre sans les formules des worksheets
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/08/2011, 15h34
  5. [XL-2003] Copier / coller valeurs et structures sans les formules.
    Par lecail65 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/05/2010, 15h08

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