Couper/coller sans modification de mise en forme des cellule

Résolu/Fermé
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 - 23 janv. 2023 à 10:47
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 - 8 févr. 2023 à 14:11

Bonjour,

Je vous explique le contexte :

Je travaille avec un planning Excel pour gérer ma planification de mes équipes opérationnelles.

Le planning attribue une équipe à un véhicule et à une opération (sur une journée).

Nous avons besoin d’avoir une vision claire et rapide de chaque opération et sur les semaines en cours ce qui nécessite d’avoir beaucoup d’information sur un petit écran. Nous avons donc utilisé des NOTES pour entrer dans le détail de chaque opération (que vous pouvez voir dans les cellules des noms d’opération).
 

Lors de notre planification, nous utilisons 4 cellules pour décrire une opération (et nous rajoutons une note ou l’opération est plus détaillée).

Les aléas du planning font que nous devons régulièrement modifier celui-ci et déplacer les opérations sur notre planning (d’un camion sur un autre, d’une journée à l’autre, ect).

Aujourd’hui la seule possibilité que j’aie pour ce faire est de faire un copié /coller de l’opération à la place voulue et de copier/coller une cellule vide pour effacer l’autre opération, auxquelles cas soit la mise en forme de la cellule ne suit pas, soit la note disparait, soit (avec un couper-coller) un « trou »se forme dans le classeur (voir démo) ci-dessous.

Cela génère souvent des problèmes, car si une opération est oubliée d’être retiré, nous construisons notre planning avec cette opération et le jour J nous nous retrouvons avec une équipe qui n’a rien à faire. Je précise qu’une opération peut être associée à plusieurs véhicules et peut durer plusieurs jours en fonction de son importance.
 

Problématique :
Je souhaiterais pouvoir faire un couper-coller de ces 4 cellules d’opération, sans que cela fasse un trou dans le planning et laisse la mise en forme des cellules. En soi seuls les mots inscrivent dedans les MFC, la note, et la conversation doivent être déplacées, pas le reste.

Auriez-vous une idée pour arriver à ce résultat ?
 

Explication Video :

  • Première démo ce que je fais actuellement :

 je copie-colle mon OP et je copie-colle une op vide pour pouvoir retirer l’autre (et normalement ça me remet tous mes contours de case avec les MFC qui permettent de colorisé les cases automatiquement, ce qui n’est pas tout à fait le cas sur la vidéo puisqu’une barre haute disparait dans la cellule N5)

  • Deuxième manip, je coupe et colle et je me retrouve avec un gros trou dans mon plannin

Ci dessous le lien vers la démo vidéo de ce que je fait et de ce que j'aimerais :

https://www.loom.com/share/0b30a00d06324ad983ae9678cacfbb6d

Le lien vers le planning que j'utilise pour une meilleure appréciation

https://www.cjoint.com/c/LLilrYcKywE

Pour mieux comprendre ma problématique, j’ai fait un cas pratique en vidéo (AVEC LE SON) :

https://www.loom.com/share/33deaf0f8f0b47998618852ef9f3393d

Il faut savoir que nous faisons parfois jusqu’à 100 modifications de planning par jours, pour diverses raisons, et nous sommes plusieurs à travailler dessus, d’où mon espoir de simplifier au plus le process.

Petite note supplémentaire : la ligne 1 doit rester vierge, car nous l’utilisons à d’autres fins.


En vous remerciant d’avance pour vos suggestions


Narwe

Ci-dessous le déroulé présenté dans la vidéo :

Nous sommes le 31-10

Action 1 :

À la suite de l’acceptation d’un client, on créer notre opération au planning à la date qu’il souhaite.

On met son nom (OP A), son nombre de colis, le type d’opération par une lettre (ex : E , G , M, le… ect), et les villes d’intervention.

On complète sa note pour plus de précision pour l’opération.

Je copie-colle volontairement l’OP vierge pour avoir une note déjà préremplie

Action 2 :

Le client nous rappelle pour décaler son opération à un autre jour

Action 3 :

L’équipier 3 nous informe à la fin de sa tournée que le camion 3 à un problème, nous ne pouvons plus l’utiliser avant qu’il soit réparé. On décale l’opération du client sur un autre véhicule.

Action 4 :

Une nouvelle opération (OP B) est validée pour la journée du 2-11 et au vu des caractéristiques du camion 6 (taille, hayon, ect…) il est préférable de l’utiliser pour cette opération que pour l’OP A.
On déplace l’OP A sur un autre camion.

A voir également:

19 réponses

jee pee Messages postés 40284 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 3 octobre 2024 9 356
23 janv. 2023 à 15:38

Bonjour,

N'ayant pas lu en détail tes explications, je te suggère d'abord d'étudier les options du coller, sur le clic-droit sur la cellule destinatrice. Il existe le coller classique, qui va copier la mise en forme, mais tu as aussi le coller/valeur seulement, qui ne copie que les données, tu as aussi une option copier la mise en forme. CTRL+ALT+V ouvre un menu avec toutes les options.

Aussi, plutôt qu’utiliser couper, qui supprime la mise en forme, tu peux utiliser copier + collage spécial, et SUPPR sur les cellules initiales qui conserve la mise en forme.


2
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
25 janv. 2023 à 16:08

Merci pour ce retour, je me suis déjà penché sur ces possibilités et malheureusement elle ne me permettent pas de coller plusieurs cellules car elles ont des tailles différentes (ou alors il faudrait les copier une par une)

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
Modifié le 23 janv. 2023 à 15:38

Bonjour,

J'ai regardé votre classeur (entrevu vos macros dont celle pour ajouter une note) et je pense qu'il faut aussi passé par macro votre demande . Je regarde la faisabilité de déplacer 4 cellules (ou plus exactement, par exemple le bloc H9:M10... (merci du retour)


1
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
25 janv. 2023 à 16:11

Bonjour,

Je pense que c'est effectivement la solution, je n'ai personnellement pas mis en place les macro et ne sait comment faire,

Le mieux (de mon avis d'inexpérimenté) serai d'avoir une macro qui copie colle les valeurs des cases et les commentaires ou conversations et supprime ceux d'origine.

Qu'en pensez vous ?

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
25 janv. 2023 à 21:13

Bonjour,

Merci du retour. et merci de répondre à la question du poste 1

Je regarde la faisabilité de déplacer 4 cellules (ou plus exactement, par exemple le bloc H9:M10... (merci du retour)


0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
26 janv. 2023 à 11:55

Bonjour,

Ma proposition, vous sélectionnez la plage à déplacer et un double clic va ouvrir la macro qui vous permet de modifier le choix si nécessaire puis vous demande de choisir la première cellule du nouvel endroit.

Merci du retour.

Le fichier : https://cjoint.com/c/MAAk3qluN6Z


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
27 janv. 2023 à 11:39

Bonjour,

Merci pour cette macro qui fonctionne bien.

Est-il possible de faire quelle prenne aussi toutes les bordures des cellules et quelle remette les autres à l’état initial ?

Est-il également possible de simplifier l'utilisation pour en arriver comme un couper-coller ?

C'est-à-dire au lieu de faire un double clic puis choisir la zone à copier, puis choisir la première cellule la ou devras être déplacé la sélection, est-il possible de sélectionner directement la zone concernée, de faire un Ctrl + D (ou une autre lettre) pour la copier et faire un Ctrl + F pour la coller et supprimer les cellules initiales ?

Merci beaucoup pour votre aide, ça m’aide beaucoup

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
27 janv. 2023 à 16:04

Bonjour,

La macro doit connaitre la plage à copier (y compris la possibilité de corriger si nécessaire) et lui dire ou la coller.

Je pense qu'il est faisable de déclencher la macro par Ctrl +une lettre à la place du double clic, je vais regarder...

Pourquoi voulez-vous séparer la partie copier de la partie coller et supprimer .....?


0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
27 janv. 2023 à 17:07

Bonjour,

Vous sélectionnez la plage à traiter et clic Ctrl+c ( déclenche la macro) et suivre les instructions.

Le fichier : https://cjoint.com/c/MABqhfYtciZ


0
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
30 janv. 2023 à 11:36

Bonjour,

Merci pour votre macro, 

Je ne souhaite pas séparer la partie copier de la partie coller supprimer, j'aimerais qu’elle s'enchaine, comme votre macro le fait bien.

Ma recherche porte sur l'efficacité, car nous sommes obligés de faire cette manipulation parfois une centaine de fois par jour (perte de temps et surtout source d'erreur), j'aimerais qu'il y ait autant de manipulation à faire que pour un couper-coller (ctrl+x & crtl+v) et si possible non-ctrl+x ; valider ; cliquer sur la cellule puis valider est-il obligatoire que la macro, demande une confirmation de plage ? S’il y a une erreur de sélection il nous suffit soit d'annuler soit de faire échap

Pouvons-nous convenir d'une autre Lettre, car le copier/ coller reste malgré tout utile (sans que cela supprime la cellule d'origine)

Est-il possible que cela prenne aussi en compte les bordures des cellules ? (celles-ci ont des significations pour nous, exemple : la double barre nous permet de savoir que le dossier est complet pour nous et le client et est prêt à être réalisé).

Merci beaucoup pour votre aide.

Je vous souhaite une bonne journée

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
30 janv. 2023 à 14:42

Bonjour,

Pouvons-nous convenir d'une autre Lettre, car le copier/ coller reste malgré tout utile (sans que cela supprime la cellule d'origine)

J’en déduis que vous voulez 2 procédures

1.- Copier/copier/supprimer (C‘est à dire on déplace la sélection /plage de départ effacer)

Macro :    par Ctrl+d

2._ Copier/coller  (C‘est à dire on copie la sélection sur une autre plage/plage de départ reste)

Macro :    par Ctrl+c

Modifier la lettre, onglet Développeur puis  Macro et sélectionner la macro puis Option  voir image :

cliquer sur la cellule puis valider est-il obligatoire que la macro, demande une confirmation de plage ?

Eh bien oui si erreur vous pouvez sélectionner la plage correcte sans devoir recommencer…. Ma recherche porte sur l'efficacité !!!!!!!

Est-il possible que cela prenne aussi en compte les bordures des cellules ?

Si vous avez fait des essais vous devez l’avoir constaté le style de bordure suit.. !

Le fichier modifier: https://cjoint.com/c/MAEnQmDqO8Z


0
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
30 janv. 2023 à 16:38

Merci pour votre réponse rapide,

Je me suis mal exprimé, je n’ai besoin que d’une macro qui fait copier/coller/supprimer (ce qui correspond à un couper-coller dans l’absolu), qui ne se lance pas avec le ctrl+c, car j’ai toujours besoin de faire des copier-coller « classique », ce qu’Excel fait parfaitement avec son ctrl+c/ctrl+v.

Ce que je souhaitais soumettre était que lorsque la macro se lance, celle-ci n’ouvre pas une boite de dialogue qui demande « plage choisie, si pas correcte sélectionner celle de votre choix », puisque ce n’est pas grave si la sélection est fausse, c’est très rarement le cas et il me suffit de revenir en arrière si le cas se présente.

Je souhaitais simplement ne pas être obligé de valider une sélection que j’ai déjà choisie.

Pour les bordures, je ne me serai pas permis de vous le demander sans avoir essayé votre proposition.

J’ai essayé en sélectionnant de AF5 à AK6 puis en « collant » avec la macro dans Z25 et les bordures hautes n’ont pas suivi.

En tous cas, encore merci pour votre retour et désolé pour la mauvaise explication

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
30 janv. 2023 à 19:01

Bonjour,

Pour la macro vous corrigez selon ci après:

Sub CopierCollerEffacer()
On Error Resume Next
' sélectionner la plage de votre choix
Set deplace = Application.InputBox(prompt:="Sélectionner la plage de votre choix", Default:=plage, Type:=8)
If Err > 0 Then Exit Sub ' Annuler?
' choisir la nouvelle position
Set vers = Application.InputBox(prompt:="Choisir la première cellule..!", Type:=8)

En effet pour les bordures j'avais un autre choix qui fonctionnait :

mais avec le votre je vois que ce n'est pas le cas,  je ne sais pas ou est le problème.....


0
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
3 févr. 2023 à 09:55

Bonjour,

Après plusieurs tentatives, je n'arrive pas à faire la manipulation que vous suggérer pour la macro (je n'en ai jamais fait une, celle qui existe ne sont pas de moi).

A chaque fois Excel m'indique "Erreur d'exécution"

Puis je vous demander de me l'écrire intégralement que je puisse faire la copier dans la console de la macro ?

En vous remerciant

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
Modifié le 3 févr. 2023 à 12:08

Bonjour,

Vous aviez dit :

Est-il possible que cela prenne aussi en compte les bordures des cellules ? (celles-ci ont des significations pour nous, exemple : la double barre nous permet de savoir que le dossier est complet pour nous et le client et est prêt à être réalisé).

Eh bien c’est vraiment un mauvais choix car il est très compliqué de devoir détecté le style de bordure de chaque cellule ( plus des cellules fusionnées) et en plus vous avez une double ligne qui entoure chaque bloc journalier (exemple :  $B$5:$G$24).

Par exemple, pourquoi ne pas utiliser couleur et style de police !

Le code complet selon demande :

'Pour déplacement d'une plage et effacer plage d'origine
Sub CopierCollerEffacer()
On Error Resume Next
' sélectionner la plage de votre choix
Set deplace = Application.InputBox(prompt:="Sélectionner la plage de votre choix!", Type:=8)
If Err > 0 Then Exit Sub ' Annuler?
' choisir la nouvelle position
Set vers = Application.InputBox(prompt:="Choisir la première cellule..!", Type:=8)
If Err > 0 Then Exit Sub ' Annuler?
On Error GoTo 0 ' supprime la gestion d'erreur pour la suite
Range(deplace.Address).Copy
Application.EnableEvents = False
Range(vers.Address).Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range(deplace.Address).ClearContents
Range(deplace.Address).ClearComments
Range(vers.Address).Activate
Application.EnableEvents = True
End Sub




'Pour copier une plage sur autre position sans effacer plage d'origine
Sub CopierColler()
On Error Resume Next
'affiche plage saisi et permet la correction si incorrecte
Set deplace = Application.InputBox(prompt:="Sélectionner la plage de votre choix!", Type:=8)
If Err > 0 Then Exit Sub ' Annuler?
' choisir la nouvelle position
Set vers = Application.InputBox(prompt:="Choisir la première cellule..!", Type:=8)
If Err > 0 Then Exit Sub ' Annuler?
On Error GoTo 0 ' supprime la gestion d'erreur pour la suite
Range(deplace.Address).Copy
Application.EnableEvents = False
Range(vers.Address).Select
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range(vers.Address).Activate
Application.EnableEvents = True
End Sub

0
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
6 févr. 2023 à 15:06

Merci pour votre aide,

Je me permet de vous demander car j'ai du mal à comprendre la nuance qu'apporte votre macro copier/coller, avec celle d'un "copier/coller" classique ?

Bonne journée à vous

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
6 févr. 2023 à 17:05

Bonjour,

Les  2 lignes de note au début des 2 macros est pourtant explicite.

A savoir, la première [CopierCollerEffacer] copie la plage d'origine et la colle à l'en droit souhaité et efface les données de la place d'origine.

Et la deuxième [CopierColler] laisse les données d'origine...!


0
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
6 févr. 2023 à 18:08

Bonjour,

L'intitulé des macros est très précis oui, je cherchai simplement à connaitre la différence de votre macro avec le raccourci clavier qu'offre Microsoft (Ctrl+C, Ctrl+V).

Mais je pense avoir compris, merci.

Bonne soirée à vous

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
6 févr. 2023 à 22:20

Bonjour,

Petite remarque avec les 2 raccourcis clavier, Ctrl+c et Ctrl+v sont utilisées par MSO donc il est préférable de choisir d’autre caractères que c / v La manipulation est décrite dans le poste 11 !


0
Narwe Messages postés 101 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 8 février 2023 1
8 févr. 2023 à 08:59

OK merci a vous pour votre aide.

0
Le Pingou Messages postés 12155 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 29 septembre 2024 1 448
8 févr. 2023 à 14:11

Merci, penser de marquer comme résolu si c'est le cas


0