Copier coller special

Bonjour à tous,

Je viens vous demander votre avis pour un copier coller, je souhaite copier ,grâce a VBA, une ligne d'une feuille à une autre feuille, seulement sur cette ligne, je souhaiterai faire 2 type de copie/colle, Je souhaite en effet copier dans certain cas des formule et dans d'autre cas seulement les valeur découlant de ces formules.

Pour l'instant j'utilise ce code qui copie seulement les valeur et qui ne prend pas en compte les formules.

Sub copiecolle()
'protection "OFF"
bdd.Unprotect Password:="1234"
archive.Unprotect Password:="1234"
ajout.Unprotect Password:="1234"

'Archivage de l'équipement sur la feuille "archive"
ajout.Select
    Range("A7:EK7").Copy
        archive.Visible = True
        archive.Select
            Range("A8").Select
                selection.EntireRow.Insert
                    selection.PasteSpecial Paste:=xlPasteValues
        archive.Visible = False

 'équipement ajouté à la base de données
 ajout.Select
    Range("A7:EL7").Copy
        bdd.Select
            Range("A13").Select
                selection.EntireRow.Insert
                    selection.PasteSpecial Paste:=xlPasteValues

ajout.Select

    Range("A7:I7").ClearContents
    Range("K7:M7").ClearContents
    Range("P7:EF7").ClearContents

'protection "ON"
bdd.Protect Password:="1234"
archive.Protect Password:="1234"
ajout.Protect Password:="1234"
ajout.Visible = False
bdd.Select
End Sub

Première question:

Comment eviter le va-et-viens entre les onglet lorsque je lance le programme?

Deuxieme question:

Quelle est le paramètre à ajouter a la fonction paste pour copier seulement les formule

(Ma plage de donnée est A7:EN7 et je souhaite copier seulement les formules pour les cellules K7, O7, P7)

Merci d'avance pour vos réponsess

Cordialement

MAX

Bonjour max,

Alors peut-être tu n'as pas trouver ton bonheur dans les topics précédent via la recherche mais pourtant moi j'ai trouver quelques infos

Alors 1) le va et vient est le fait dans ton programme des "archive.select" etc... ça sélectionne la feuille, donc va et vient constant c'est sûr. Après je ne peux pas vérifier mais il me semble qu'en désactivant l'actualisation pendant l’exécution du code, ça pourrait fonctionner.

Application.ScreenUpdating = False
   'au tout début de ta macro ça désactive le rafraichissement et tout a la fin il faut le réactiver !
Application.ScreenUpdating = True

Edit : on va quand même éviter de se planter dans les boutons d'envois...

2) voici une macro (légèrement à corriger) pour les formules : https://forum.excel-pratique.com/excel/macro-copier-coller-les-formules-d-une-plage-vers-une-autre-t25731.html

Alors le code de copie formule c'est :

Application.CutCopyMode = true

En gros tu copie ta plage de donnée, avant de coller tu active le code (true) ce qu'il fait qu'il copie les formules de tes cellules.

Tu colle là où tu veux et normalement le tour est joué (je dis normalement car encore une fois sans fichier on ne peut pas essayer)

Merci pour ta reponse, j'arrive a gerer le rafraichissement maintenant, par contre pour le copy/paste, la méthode échoue :/

Re-

Je n'arrive pas à avancer, j'ai extrait le code de mon excel, j'aurais besoin de copier coller simplement une ligne avec différent format de copie-colle....

Je voudrais (dans une nouvelle ligne a chaque ajout), recupérer simplement les valeurs des colonnes (A7:EN7), seulement pour les cellule F7,07,P7 récupérer la formule enteiere afin de la coller et pour les formulles EK7,EL7,EM7 et EN7 je voudrais recupérer ce qui resulte de la formule.

Ca fait plusieur heure que j'essaye mais j'y arrive pas!

Je vous transmet le point zero de tout mes test, si quelqu'un veut bien m'aider je lui donnerai ma reconnaissance éternelle!!!

Cordialement

MAX

Rechercher des sujets similaires à "copier coller special"