albuqs
XLDnaute Nouveau
Bonjour à tous,
J'espère vous trouver en bonne forme.
Je pense pas qu'il y aura besoin de fichier pour un œil averti, cas échéant je le prépare.
J'ai actuellement le petit bout de code suivant:
Le collage fonctionne à merveille... en revanche la substitution derrière ne fonctionne pas.
J'ai le sentiment que le .selection ne fait plus référence à la plage collée, sans doute une subtilité... (?!)
J'ai bien tenté de mettre la plage collée dans une variable range et de la rappeler en vue de la substitution, mais sans effet....
Je précise que la substitution ne doit s'opérer QUE dans la plage qui vient d'être collée, histoire de pas flinguer le reste des données du tableau de destination....
J'ai également des évènements selection_change et worksheet_change sur la page, dès lors j'ai tenté le coup en passant le EnableEvents à False des fois que, mais ça ne change rien...
Si quelqu'un a une idée
Bien à vous,
J'espère vous trouver en bonne forme.
Je pense pas qu'il y aura besoin de fichier pour un œil averti, cas échéant je le prépare.
J'ai actuellement le petit bout de code suivant:
VB:
Sub MAGICPASTE()
'on verifie l'état du mode copié/collé d'excel
Select Case Application.CutCopyMode
'si une plage a été copiée (ctrl+c) alors
Case Is = xlCopy
'on colle la selection dans la cellule active en valeur et en ométant les vides
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
'on remplace les valeurs précédemment collées 0 par du vide
Selection.Replace What:="0", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'on remplace les valeurs 60 précédemment collées par du vide
Selection.Replace What:="60", Replacement:="61", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'sinon, si aucune plage n'a été copiée
Case Else
'on le fait remarquer!
MsgBox "Il n'y a rien à copier !", vbOKOnly + vbCritical
End Select
End Sub
Le collage fonctionne à merveille... en revanche la substitution derrière ne fonctionne pas.
J'ai le sentiment que le .selection ne fait plus référence à la plage collée, sans doute une subtilité... (?!)
J'ai bien tenté de mettre la plage collée dans une variable range et de la rappeler en vue de la substitution, mais sans effet....
Je précise que la substitution ne doit s'opérer QUE dans la plage qui vient d'être collée, histoire de pas flinguer le reste des données du tableau de destination....
J'ai également des évènements selection_change et worksheet_change sur la page, dès lors j'ai tenté le coup en passant le EnableEvents à False des fois que, mais ça ne change rien...
Si quelqu'un a une idée
Bien à vous,
Dernière édition: