ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 novembre 2009
-
4 juil. 2005 à 20:34
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 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?
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 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)
K_SoZe
Messages postés39Date d'inscriptiondimanche 8 mai 2005StatutMembreDernière intervention 8 juillet 200520 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.
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 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).
ricomiracle
Messages postés195Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention30 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...