Macro interactive pour Copie de cellule

  • Initiateur de la discussion Initiateur de la discussion Chri8Ed
  • 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 !

Chri8Ed

XLDnaute Occasionnel
Bonjour

Je dispose d’une macro qui a été en grande partie été écrite par HASCO
Cette macro me permet de copier une cellule dans un autre emplacement puis une fois cette cellule copiée de remettre la cellule ainsi copiée dans l’état originale (Vidée, Sans commentaire, Couleur violette)

Cette macro fonctionne très bien, mais elle ne fonctionne que pour une seule cellule à la fois et je voudrais pouvoir l’utiliser pour plusieurs cellules (Je précise que ces cellules seraient contigües « ex : A1 :A5 »)

Une évolution de cette macro pour la rendre applicable pour une série de cellules devait être possible, mais je n’arrive pas à trouver la solution.

Code:
Sub Cellule_Déplacement_D()

     With Selection
         If .Cells.Count <> 2 Or .Areas.Count <> 2 Then Exit Sub
         .Item(1).Copy
         With .Areas(2)(1)
             .PasteSpecial xlPasteValues
             .PasteSpecial xlPasteFormats
             .PasteSpecial xlPasteComments
         End With
         With .Areas(1)(1)
         .Item(1).ClearContents
         .Comment.Delete
         .Interior.Color = 16751052
         End With
     End With
     Application.CutCopyMode = False
     
End Sub
 
Re : Macro interactive pour Copie de cellule

Bonjour Chris8Ed,

A lire le code, je crois comprendre que tu dois sélectionner à la fois la cellule source et la cellule de destination pour que ça fonctionne actuellement
Quelle sélection ferais-tu avec ta nouvelle méthode ? Egalement les cellules de destination ? A1:A5 et Z1:Z5 par exemple ?
 
Re : Macro interactive pour Copie de cellule

Bonjour

Je sélectionnerai comme tu dis par ex A1 : A4 en 1er

Puis ensuite en cliquant sur la touche Ctrl, je sélectionne la cellule B1

Je lance ma macro

La copie va se faire sur B1 : B4
Puis les cellules A1 : A5 retrouveront leurs formats originales
 
Re : Macro interactive pour Copie de cellule

Re,

à tester

Code:
Sub Cellule_Déplacement_D()

     With Selection
         If .Areas.Count <> 2 Then Exit Sub
         .Areas(1).Copy
         With .Areas(2)(1)
             .PasteSpecial xlPasteValues
             .PasteSpecial xlPasteFormats
             .PasteSpecial xlPasteComments
         End With
         With .Areas(1)
         .ClearContents
         .ClearComments
         .Interior.Color = 16751052
         End With
     End With
     Application.CutCopyMode = False
     
End Sub
 
Re : Macro interactive pour Copie de cellule

Re,

Ben, c’est parfait du 1er coup ! 😱

Juste une petite chose, si je me trompe en sélectionnant la cellule de recopie (avant de lancer la macro), puis que je sélectionne la bonne cellule ensuite, la macro alors n’a aucun effet.

Mais c’est loin d’être grave, je recommence la manipe et c’est bon.

Merci beaucoup
 
Re : Macro interactive pour Copie de cellule

Bonjour à tous,

Juste une petite chose, si je me trompe en sélectionnant la cellule de recopie (avant de lancer la macro), puis que je sélectionne la bonne cellule ensuite, la macro alors n’a aucun effet.
Avec ce code, il faut qu'il ait 2 plages distinctes de sélectionnées avant de lancer ta macro...

bon après midi
@+
 
Re : Macro interactive pour Copie de cellule

Un exemple :

- Je sélectionne un groupe de cellules A1 :A3

- Je sélectionne en appuyant sur la touche Ctrl pour la recopie la cellule B1

- Mais comme je me suis trompé, je sélectionne toujours en maintenant la touche Ctrl enfoncée, cette fois la cellule C1

- J’active ma macro

Là rien ne se passe.
 
Re : Macro interactive pour Copie de cellule

Bonjour Pierrot 🙂
Re,

La macro ne fonctionne que si tu as 2 groupes de cellules sélectionnés avec Ctrl, le premier est considéré comme la source et le second comme la destination (sur la base de ce que t'avait proposé Hasco, que je salue s'il passe par là 🙂)
si tu sélectionnes 3 groupes de cellules, comment deviner lequel sera la source et lequel sera la destination ??
 
Re : Macro interactive pour Copie de cellule

Bonjour Pierrot et Re,

Effectivement dans ce cas il faudrait que la macro interprète que si on marque 2 cellules de destination en maintenant la touche Ctrl enfoncée, la 1 ère doit être ignorée

Mais comme je l’ai dit, ce n’était qu’une remarque

Il suffit de repartir du départ, ce n’est absolument pas grave, ni compliqué, d’ailleurs cela ne provoque aucune erreur, puisqu’il ne se passe tout simplement rien

L’essentiel c’est que le but soit atteint et là, il l’est parfaitement

Merci encore
 
Re : Macro interactive pour Copie de cellule

Bonjour,

modifie comme suit :
Code:
Sub Cellule_Déplacement_D()
     With Selection
          If .Areas.Count < 2 Then Exit Sub
          .Areas(1).Copy
          With .Areas(.Areas.Count)(1)
              .PasteSpecial xlPasteValues
              .PasteSpecial xlPasteFormats
              .PasteSpecial xlPasteComments
          End With
          With .Areas(1)
          .ClearContents
          .ClearComments
          .Interior.Color = 16751052
          End With
      End With
      Application.CutCopyMode = False
 End Sub

bonne soirée
@+
 
Re : Macro interactive pour Copie de cellule

Bonjour Pierrot

Vraiment super !!!

Et en plus on peut apparemment modifier le point de destination autant de fois que l’on veut, tant que l’on n’a pas actionné la macro….

Je n’en demandais pas tant. 😱

Merci beaucoup

Bon après-midi
 
Re : Macro interactive pour Copie de cellule

Bonjour Pierrot

Je viens de constater un problème dans l’utilisation de la macro :

Bien que ce problème soit très gênant car il risque de se retrouver souvent du fait de mon tableau, je crains malheureusement qu’il soit imparable, car en faite dans ce cas, les cellules se recoupent :

Un exemple sera plus clair :

Je souhaite recopier les cellules A1 :A4
Pour les positionner sur A 3 :A6

J e marque donc les cellules A1 :A4, puis je Ctrl Clic sur A3 et lance ma macro

Comme les cellules A3 et A4 se retrouvent à la fois dans les cellules à recopier et dans les cellules de destination, la macro plante
 
- 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
4
Affichages
449
Retour