Presse-papier effacé à l'éxecution d'une macro ?

Sylvain M.

XLDnaute Nouveau
Bonjour à tous,

Je viens d'adapter l'excellent modèle de Jacques Boisgontier (à cette adresse) aux communes Françaises.
Ça fonctionne très bien !!! :cool: (merci à Jacques !)

Cependant, je constate un comportement étrange de la feuille de calcul où est placée ce code VBA* : il devient impossible de faire le moindre copier/coller. A chaque clic dans une cellule, le contenu du presse papier semble effacé.

Est-ce que ça vous le fait aussi ?
Et voyez vous comment conserver le presse papier malgré tout ?

* voici le code en question :
Code:
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([e2:e10], Target) Is Nothing And Target.Count = 1 Then
    a = Application.Transpose(Sheets("données").Range("maliste").Value)
    Me.ComboBox1.List = a
    Me.ComboBox1.Height = Target.Height + 3
    Me.ComboBox1.Width = Target.Width
    Me.ComboBox1.Top = Target.Top
    Me.ComboBox1.Left = Target.Left
    Me.ComboBox1 = Target
    Me.ComboBox1.Visible = True
    Me.ComboBox1.Activate
    Me.ComboBox1.DropDown ' ouverture automatique au clic dans la cellule (optionel)
  Else
    Me.ComboBox1.Visible = False
  End If
End Sub

Private Sub ComboBox1_Change()
  If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
     Me.ComboBox1.List = Filter(a, Me.ComboBox1.Text, True, vbTextCompare)
     Me.ComboBox1.DropDown
  Else
    ActiveCell = Me.ComboBox1
  End If
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Presse-papier effacé à l'éxecution d'une macro ?

Bonjour Sylvain,

C'est fréquent avec le code évènementiel
Tu as peut-être remarqué que si tu copies des cellules, puis tapes dans une autre cellule, Excel oublie ce qui a été copié
C'est pareil pour VBA, les actions réalisées peuvent entraîner l'oubli de ce qui a été copié... et pour le contourner, je ne sais pas

Edit : en même temps sur le fichier de Boisgontier, je n'ai pas ce problème, les copier/coller fonctionnent
 
Dernière édition:

Sylvain M.

XLDnaute Nouveau
Re : Presse-papier effacé à l'éxecution d'une macro ?

Edit : en même temps sur le fichier de Boisgontier, je n'ai pas ce problème, les copier/coller fonctionnent
Sur toutes les feuilles ? Chez moi ça fonctionne sur la feuille "Données", mais pas sur la feuille "Liste d'élèves"...
Si ça marche chez toi, ça m'inquiète :confused:

Si je veux conserver l'usage du presse papier, je suppose qu'il ne faudrait pas utiliser le déclencheur "Worksheet_SelectionChange" ?
Auriez-vous des conseils en la matière ? (double-clic dans la cellule ?)

Merci pour vos avis.

A+

Sylvain M.
 

job75

XLDnaute Barbatruc
Re : Presse-papier effacé à l'éxecution d'une macro ?

Bonjour Sylvain M., hello Marc,

C'est pourtant assez évident il me semble :

- en dehors de la plage 'Liste d'élèves'!E2:E10 le copier-coller est toujours possible

- si l'on veut copier ou coller dans cette plage il faut sélectionner plus d'une cellule...

A+
 

Sylvain M.

XLDnaute Nouveau
Re : Presse-papier effacé à l'éxecution d'une macro ?

Hello Job75 :)
Malheureusement, ce n'est pas si évident !
en dehors de la plage 'Liste d'élèves'!E2:E10 le copier-coller est toujours possible
Chez moi, non !!!??? :confused:
Il n'y a pas que dans cette plage où ce n'est plus possible : dès que je clic dans une nouvelle cellule de la feuille, après avoir copié (en dehors de la plage E2:E10), le presse papier est perdu (cellules en pointillé redeviennent normales), et impossible de coller...

Quelle version d'Excel ?
Je suis sur Excel 2007.

Je vais faire des tests sur d'autres versions chez des collègues dès que je pourrai.
 

job75

XLDnaute Barbatruc
Re : Presse-papier effacé à l'éxecution d'une macro ?

Re,

Je n'avais testé que sur Excel 2013.

Sur mes autres ordi :

- Excel 2010 => pas de problème non plus

- Excel 2003 => problème.

Alors ça ira bien en remplaçant Me.ComboBox1.Visible = False par :

Code:
If Me.ComboBox1.Visible Then Me.ComboBox1.Visible = False
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 520
Messages
2 089 298
Membres
104 092
dernier inscrit
karbone57