Microsoft 365 Déplacer cellules en gardant mise en forme source et cible (via VBA)

mjuju

XLDnaute Nouveau
Bonjour,

Je souhaite déplacer des cellules en gardant la mise en forme de la source et de la cible.
Cela revient à un couper / collervaleurs mais il est impératif de rester sur une action sélection->déplacement sans actions intermédiaires.

Nous avons une série de classeur où nous souhaiterions appliquer ce VBA. Je mets en PJ l'un d'eux.
Généralement, on sélectionne plusieurs lignes de la colonne J, K, L, M que l'on déplace en C, D, E, F... (par exemple: J138:M142 déplacés en C146:F150 ou
J158:M158 déplacé en C151:F151 ou J160 en C169).

J'ai bien peur que ma demande ne soit possible: jusqu'à présent personne n'a trouvé la solution pour cette action précise!

Merci par avance,

Mjuju
 

Pièces jointes

  • Test.xlsx
    136.3 KB · Affichages: 7

Gégé-45550

XLDnaute Accro
Bonjour,

Je souhaite déplacer des cellules en gardant la mise en forme de la source et de la cible.
Cela revient à un couper / collervaleurs mais il est impératif de rester sur une action sélection->déplacement sans actions intermédiaires.

Nous avons une série de classeur où nous souhaiterions appliquer ce VBA. Je mets en PJ l'un d'eux.
Généralement, on sélectionne plusieurs lignes de la colonne J, K, L, M que l'on déplace en C, D, E, F... (par exemple: J138:M142 déplacés en C146:F150 ou
J158:M158 déplacé en C151:F151 ou J160 en C169).

J'ai bien peur que ma demande ne soit possible: jusqu'à présent personne n'a trouvé la solution pour cette action précise!

Merci par avance,

Mjuju
Bonjour @mjuju ,Dranreb, l'ami @TooFatBoy ,
Je ne sais pas à partir de quelle versions d'Excel cette action fonctionne, mais je suis sûr qu'elle est opérationnelle au moins sous Excel365 avec lequel je travaille.
1.) Sélection d'une plage de données
2.) Au lieu de maintenir le clic gauche pour glisser/déplacer, maintenir le clic droit.
3.) Au moment de déposer, un sous-menu apparaît et vous pouvez choisir, entre autres, de déposer les valeurs seules.

Cordialement,
 

Dranreb

XLDnaute Barbatruc
Ah mais oui, sur Excel 2016, ça marche aussi. Je ne le savais même pas. On ne sait jamais tout d'Excel.
Mais le menu ne propose pas, pour les déplacer, Placer ici les valeurs seules, on peut seulement les copier.
Mon ClicDroitÉchange.xlsm perd quand même un peu de son intérêt.
Toutefois pour une grande fréquence d'utilisation :
1) — Il évite un clic sur une option de sous menu
2) — Pour éviter toute perte de donnée au cas où la plage cible ne serait pas vide il échange plutôt ses valeurs avec celles de la plage source.
3) — Il va même jusqu'à rendre inutile le glisser/déplacer
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Je ne sais pas à partir de quelle versions d'Excel cette action fonctionne, mais je suis sûr qu'elle est opérationnelle au moins sous Excel365 avec lequel je travaille.
1.) Sélection d'une plage de données
2.) Au lieu de maintenir le clic gauche pour glisser/déplacer, maintenir le clic droit.
3.) Au moment de déposer, un sous-menu apparaît et vous pouvez choisir, entre autres, de déposer les valeurs seules.
Sous Excel 2016 32 bits les options sont celles visibles sur la capture d'écran suivante :
2024-06-13_13-06-13.png


Ca fait la même chose qu'un collage spécial. :(
 

Gégé-45550

XLDnaute Accro
Sous Excel 2016 32 bits les options sont celles visibles sur la capture d'écran suivante :
Regarde la pièce jointe 1198739

Ca fait la même chose qu'un collage spécial. :(
Ben ouais hein ... mais en utilisant le gllsser/déplacer, comme le veut le demandeur.
Évidemment, il reste ensuite à supprimer les infos dans le champ initial. Ça fait deux manips et non une seule, tout comme un couper/coller en texte seul.
Je ne vois pas comment, même en VBA, on pourrait "capturer" un champ sous forme de paramètre (puisque non connu à l'avance), et le glisser puis coller en mode "texte seul" à un endroit lui aussi non connu à l'avance (c'est-à-dire juste avant l'action elle-même) en une seule et unique action.
 

TooFatBoy

XLDnaute Barbatruc
Je ne vois pas comment, même en VBA, on pourrait "capturer" un champ sous forme de paramètre (puisque non connu à l'avance), et le glisser puis coller en mode "texte seul" à un endroit lui aussi non connu à l'avance (c'est-à-dire juste avant l'action elle-même) en une seule et unique action.
Peut-être en ajoutant un item au menu contextuel ?
 

Statistiques des forums

Discussions
312 864
Messages
2 093 002
Membres
105 593
dernier inscrit
Damien49