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 SubPremiè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 = TrueEdit : 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 = trueEn 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