Excel copier/coller

Résolu
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009 - 4 juil. 2005 à 20:34
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009 - 5 juil. 2005 à 09:16
Je voudrais savoir si il y a une propriété dans les objets worksheet de
excel qui fait référence aux cellules en cours de sélection.

En fait c'est pour faire du copier/coller, j'ai besoin de mettre dans
une variable la plage de cellule sur laquelle va sefaire le collage
(plage de destination). Et je ne sais pas comment connaître le nombre
de colonnes sur lequel s'est fait la copie.

En clair, si le presse-papier fai référence à une plage de cellule comment y accéder?

ou comment connaitre la plage en cours de sélection?

4 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
5 juil. 2005 à 01:24
Lut,
Voilà un bout de code à tester je pense qu'il répond à ta demande ce n'est qu'une ébauche bien sur il est à coller dans ThisWorkBook.
ici j'ai mis un select case pour éviter de rentrer dans une boucle sans fin.


Dim TabTemp


Private Sub Workbook_SheetChange( ByVal Sh As Object , ByVal Target As Range)


Select Case MsgBox( "Restaurer les valeurs initiales de " & Target.Address & " ?" , vbYesNo


» )


Case vbYes


Target.Value = TabTemp


Case vbNo


End Select


End Sub


Private Sub Workbook_SheetSelectionChange( ByVal Sh As Object , ByVal Target As Range)


' Sauvegarde des valeurs


TabTemp = Target.Value


End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
K_SoZe Messages postés 39 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 8 juillet 2005 20
4 juil. 2005 à 21:59
Bonsoir,



Si tu veux faire un copier/coller, les syntaxes à utiliser sont, respectivement :



'Sélection de la plage + copie de la plage



Worksheets("NomFeuille").Range("Plage ou Cellule de destination").select

Worksheets("NomFeuille").Range("Plage ou Cellule de destination").copy



'Sélection de la plage de destination + collage



Worksheets("NomFeuille").Range("Plage ou Cellule de destination").select

Activesheet.Paste



Je ne sais pas si j'aurai répondu ta question car elle ne me semble pas très claire.

je ne comprends pas ce que tu veux dire par "Je ne sais pas comment
connaître le nombre de colonnes sur lequel s'est fait la copie". C'est
à toi de décider où tu souhaites copier ou coller la sélection et donc
à toi de l'indiquer dans ton code.

K. SZe
0
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
4 juil. 2005 à 23:06
En fait il s'agit de sauvegarder un plage de cellule av qu'elle soit
remplacer par le 'collage'. Mais l'action copier/coller se fait par
l'utilisateur.

ex:

L'utilisateur sélectionne une plage. Il fait 'copier'. Ensuite il ckique sur une cellule quelqconque et il fait coller.



Pour pouvoir sauver la plage 'destination' (ki va être modifier),
je dois prendre la cellule active et ajouter le nombre de lignes et de
colonnes ki vont former la plage 'destination'.

Je ne sait pas comment déterminer cette plage?

-soit au moment ou l'utilisateur fait 'coller' en accédant à la plage ki se trouve ds le presse-papier (je ne sais pas faire)

-soit au moment ou l'utilisateur fait 'copier' connaitre la plage en cours de sélection (celle prise par le copier).



En espérant avoir été plus clair...

Merci
0
ricomiracle Messages postés 195 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 30 novembre 2009
5 juil. 2005 à 09:16
Je suis aller un peu vite avec la validation...

Je sais que ma question est un peu vague alors je vais essayer de poser la kestion autrement.

Je ne veux pas sauvegarder a chaque évènement 'selection-change', mais
seulement lorsque l'utilisateur fait ctrl+c ou bien 'copier'.



(Je sais récupérer l'évènement 'copier' pour ca pas de problème).
On est dans ma fonction qui se déroule lorsque l'utilisateur fait
l'action 'copier'... dans cette fonction je veux sauvegarder la
plage de valeur concernée par la copie.



En gros cela revient à savoir à un moment quelcquonque (pas dans un
évènement qui prend target en paramètre) la plage en cours de
sélection...
0
Rejoignez-nous