Bonjour, désolé pour le titre très peu explicite.
J'ai un problème que je n'ai pas réussi à résoudre après quelques heures de recherches..
Je crée une macro dans le but de simplifier l'action de copié collé d'un planning.
Le code fonctionne comme ceci : on "active" la première cellule des éléments à copier et on lance le code.
Dans la continuité du code on sélectionne la cellule où on veut coller les données
La macro se charge de supprimer les données de départ, et remettre à niveau la mise en forme conditionnelle des données collées (si on ne le fait pas, la règle de mise en forme reste celle de la plage de cellule de départ)
Le tout fonctionne très bien lorsque la cellule destinatrice est sur la même feuille que la cellule copiée.
Mais lorsque l'on colle sur une autre feuille, la partie après le collage ne fonctionne pas, les mises en forme conditionnelle ne suivent pas..
Je vous joins un document pour vous faire une idée.
Il faut sélectionner une cellule d'une colonne "nbre" puis ctrl+q et sélectionner une autre colonne "nbre" pour coller.
Si vous avez une solution, je prends volontiers.
En vous remerciant,
Mestrod.
J'ai un problème que je n'ai pas réussi à résoudre après quelques heures de recherches..
Je crée une macro dans le but de simplifier l'action de copié collé d'un planning.
Le code fonctionne comme ceci : on "active" la première cellule des éléments à copier et on lance le code.
Dans la continuité du code on sélectionne la cellule où on veut coller les données
La macro se charge de supprimer les données de départ, et remettre à niveau la mise en forme conditionnelle des données collées (si on ne le fait pas, la règle de mise en forme reste celle de la plage de cellule de départ)
Le tout fonctionne très bien lorsque la cellule destinatrice est sur la même feuille que la cellule copiée.
Mais lorsque l'on colle sur une autre feuille, la partie après le collage ne fonctionne pas, les mises en forme conditionnelle ne suivent pas..
Je vous joins un document pour vous faire une idée.
Il faut sélectionner une cellule d'une colonne "nbre" puis ctrl+q et sélectionner une autre colonne "nbre" pour coller.
Si vous avez une solution, je prends volontiers.
En vous remerciant,
Mestrod.
Code:
Sub copiecolle2()
Dim tgt As Variant
Dim x As Variant
Set x = ActiveCell 'enregistre la position de départ
ActiveCell.Resize(, 6).Select 'étend la sélection à partir de la cellule active
On Error Resume Next
Set tgt = Application.InputBox("Sélectionner la destination", "Coller", Type:=8) 'défini une cible de collage par l'opérateur
If Err.Number <> 0 Then
Else
Selection.Copy tgt 'copie la sélection vers la cible
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.ClearContents 'efface le contenu des cellules copiées
x.Offset(, 1).Select
Selection.ClearContents 'sélectionne et efface un résidu issu d'une autre macro
tgt.Offset(, 2).Select 'retourne à la cellule où sont collées les données et sélectionne une zone spécifique
ActiveCell.Resize(, 4).FormatConditions.Delete 'efface le résidu de mise en forme conditionnelle
tgt.Offset(1, 2).Select
ActiveCell.Resize(, 4).Copy 'sélectionne la nouvelle mise en forme (semblable à celle du dessous)
tgt.Offset(0, 2).Select
ActiveCell.Resize(, 4).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'applique la bonne mise en forme
End If
On Error GoTo 0
End Sub