Copier automatiquement dans la même feuille

  • Initiateur de la discussion Initiateur de la discussion maval
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

maval

XLDnaute Barbatruc
Bonjour,

Je recherche un code vba pour copier automatiquement dans la même feuille les cellules "J3:K200" vers les cellules "C3: D200" en sachant que les cellules ont des formules.

Je vous remercie de votre aide

Cordialement

Maval
 
Re : Copier automatiquement dans la même feuille

Bonsoir Maval,
Bonsoir Bruno,

Bruno : je ne pense pas que ta solution convienne, car la copie effectuée ne concerne que les valeurs et non les formules.

Par contre, tu as raison : un petit bout de fichier aiderait sûrement à répondre.

Maval : tu ne dis pas si la copie des formules doit adapter les adresses de cellules ou si elles doivent être conservées ?

A +

Cordialement.
 
Re : Copier automatiquement dans la même feuille

Bonsoir tous,
Je persiste et signe, mon code ne colle que des valeurs . . . .
Mis un bouton je pense que tu sauras trouver le code pour l'événement
Bruno


Edit :::toujours pas compris si c'est que les valeurs ou les formules qu'il faut copier
 

Pièces jointes

Dernière édition:
Re : Copier automatiquement dans la même feuille

RE :

Bruno, je crois bien que ce sont les formules qui doivent être copiées, en conservant les adresses des cellules. Il suffit donc de modifier ton code comme ceci :

Code:
Private Sub CommandButton1_Click()
[C3: D12].Formula = [J3: K12].Formula
End Sub
Sinon, Max ne tardera pas à nous le faire savoir.

Cordialement.
 
Re : Copier automatiquement dans la même feuille

Re Papou net,

Je viens de m'apercevoir que j'ai oublié de dire une chose importante j'ai les colonnes "C3: D200"qu'il sont protéger pour ne pas modifier. Comment peut on mettre dans le code suivant un ActiveSheet.Unprotect / ActiveSheet.Protect ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("J3:K200"), Target) Is Nothing Then
  Range("C3:D200").Formula = Range("J3:K200").Formula
End If
End Sub


Merci d'avance

Max
 
Dernière édition:
Re : Copier automatiquement dans la même feuille

RE :

Tu pourrais écrire :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("J3:K200"), Target) Is Nothing Then
  Me.Unprotect "xxx"  
  Range("C3:D200").Formula = Range("J3:K200").Formula
  Me.protect "MotdePasse"  
End If
End Sub
Mais le plus simple serait de créer une procédure événementielle à l'ouverture du fichier dans le module ThisWorkbook.

Ex :

Code:
Private Sub Workbook_Open()
Feuil1.Protect "xxx", userinterfaceonly:=True
End Sub
Le paramètre userinterfaceonly protège la feuille contre les modifications de l'utilisateur mais autorise celles générées par les macros. Si tu veux protéger d'autres feuilles, tu peux utiliser une boucle pour y parvenir.

Bien entendu, tu adaptes le nom de la feuille (Feuil1) et le libellé du mot de passe (xxx) à ta convenance.

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
42
Affichages
1 K
Réponses
6
Affichages
257
Retour