Excel copier/coller

Résolu
Signaler
Messages postés
195
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 novembre 2009
-
Messages postés
195
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 novembre 2009
-
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

Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
39
Date d'inscription
dimanche 8 mai 2005
Statut
Membre
Dernière intervention
8 juillet 2005
18
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
Messages postés
195
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 novembre 2009

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
Messages postés
195
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 novembre 2009

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...