OVH Cloud OVH Cloud

Selection apres copie

6 réponses
Avatar
Thierry
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été copié.
Par exemple je selectionne A1 que je copie en E5, et je voudrais que A1 soit
a nouveau selectionnée apres la copie afin de lui affecter un fomat
particulier.

Merci d'avance pour les reponses

Thierry

6 réponses

Avatar
garnote
Salut Thierry,

Tu n'es pas oblligé de sélectionner tes cellules
pour faire ce que tu veux. Voici un exemple :

Sub Copier()
[a1].Copy [e5]
[a1].Interior.ColorIndex = 15
End Sub

Serge


"Thierry" a écrit dans le message de news:
3fffd389$0$239$
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été copié.
Par exemple je selectionne A1 que je copie en E5, et je voudrais que A1
soit

a nouveau selectionnée apres la copie afin de lui affecter un fomat
particulier.

Merci d'avance pour les reponses

Thierry




Avatar
papou
Bonjour Serge
Si je peux me permettre une petite remarque :
L'utilisation de la syntaxe [A1] pour identifer une cellule m'a été
déconseillée il y a de cela quelques mois par un des MVP du MPEP (US)
En effet, selon Tom Ogilvy (puisqu'il s'agit de lui), cette méthode est
beaucoup lente à l'utilisation par rapport à la méthode classique
Range("A1").
Toujours selon lui cette méthode ne doit être utilisée que lorsque que l'on
souhaite évaluer la cellule (ce qui n'est pas le cas je pense pour Thierry).
Je n'ai pas personnellement testé la différence de temps de traitement entre
les deux méthodes, mais je pense que l'on peut raisonnablement faire
confiance à Tom Ogilvy.

Cordialement
Pascal

"garnote" a écrit dans le message de news:
Z2TLb.29111$
Salut Thierry,

Tu n'es pas oblligé de sélectionner tes cellules
pour faire ce que tu veux. Voici un exemple :

Sub Copier()
[a1].Copy [e5]
[a1].Interior.ColorIndex = 15
End Sub

Serge


"Thierry" a écrit dans le message de news:
3fffd389$0$239$
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été copié.
Par exemple je selectionne A1 que je copie en E5, et je voudrais que A1
soit

a nouveau selectionnée apres la copie afin de lui affecter un fomat
particulier.

Merci d'avance pour les reponses

Thierry








Avatar
AV
Salut Papou,

En effet, selon Tom Ogilvy (puisqu'il s'agit de lui), cette méthode est
beaucoup lente à l'utilisation par rapport à la méthode classique
Range("A1").


Si sur le plan théorique on ne peut qu'être d'accord, le terme "beaucoup" me
paraît trés excessif
Sur une manip comme Range("A1").Select ou [A1].Select, il faut boucler qques
milliers de fois pour commencer à sentir la différence

AV

Toujours selon lui cette méthode ne doit être utilisée que lorsque que l'on
souhaite évaluer la cellule (ce qui n'est pas le cas je pense pour Thierry).
Je n'ai pas personnellement testé la différence de temps de traitement entre
les deux méthodes, mais je pense que l'on peut raisonnablement faire
confiance à Tom Ogilvy.

Cordialement
Pascal

"garnote" a écrit dans le message de news:
Z2TLb.29111$
Salut Thierry,

Tu n'es pas oblligé de sélectionner tes cellules
pour faire ce que tu veux. Voici un exemple :

Sub Copier()
[a1].Copy [e5]
[a1].Interior.ColorIndex = 15
End Sub

Serge


"Thierry" a écrit dans le message de news:
3fffd389$0$239$
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été copié.
Par exemple je selectionne A1 que je copie en E5, et je voudrais que A1
soit

a nouveau selectionnée apres la copie afin de lui affecter un fomat
particulier.

Merci d'avance pour les reponses

Thierry












Avatar
Michel Gaboly
Bonsoir, Serge,

J'irai + loin : il est vivement déconseillé de sélectionner E5 ici.
Cela ne sert qu'à ralentir le traitement.

Par ailleurs, s'il s'agit juste de récupérer en E5 la valeur de A1,
ce qui est l'équivalent d'un collage spécial Valeurs, il y a encore +
simple :

Sub Toto()
Range("E5") = Range("A1")
End Sub



Salut Thierry,

Tu n'es pas oblligé de sélectionner tes cellules
pour faire ce que tu veux. Voici un exemple :

Sub Copier()
[a1].Copy [e5]
[a1].Interior.ColorIndex = 15
End Sub

Serge

"Thierry" a écrit dans le message de news:
3fffd389$0$239$
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été copié.
Par exemple je selectionne A1 que je copie en E5, et je voudrais que A1
soit

a nouveau selectionnée apres la copie afin de lui affecter un fomat
particulier.

Merci d'avance pour les reponses

Thierry





--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
garnote
Sur mon ordi :
39 secondes avec [a1] et 33 avec Range("a1").

Sub Qui_Est_Le_Plus_Rapide()
d = Time
For i = 1 To 50000
Range("a1").Select
Next i
MsgBox Format(d - Time, "hh mm ss")
End Sub

Serge


"AV" a écrit dans le message de news:

Salut Papou,

En effet, selon Tom Ogilvy (puisqu'il s'agit de lui), cette méthode est
beaucoup lente à l'utilisation par rapport à la méthode classique
Range("A1").


Si sur le plan théorique on ne peut qu'être d'accord, le terme "beaucoup"
me

paraît trés excessif
Sur une manip comme Range("A1").Select ou [A1].Select, il faut boucler
qques

milliers de fois pour commencer à sentir la différence

AV

Toujours selon lui cette méthode ne doit être utilisée que lorsque que
l'on


souhaite évaluer la cellule (ce qui n'est pas le cas je pense pour
Thierry).


Je n'ai pas personnellement testé la différence de temps de traitement
entre


les deux méthodes, mais je pense que l'on peut raisonnablement faire
confiance à Tom Ogilvy.

Cordialement
Pascal

"garnote" a écrit dans le message de news:
Z2TLb.29111$
Salut Thierry,

Tu n'es pas oblligé de sélectionner tes cellules
pour faire ce que tu veux. Voici un exemple :

Sub Copier()
[a1].Copy [e5]
[a1].Interior.ColorIndex = 15
End Sub

Serge


"Thierry" a écrit dans le message de news:
3fffd389$0$239$
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été
copié.




Par exemple je selectionne A1 que je copie en E5, et je voudrais que
A1




soit
a nouveau selectionnée apres la copie afin de lui affecter un fomat
particulier.

Merci d'avance pour les reponses

Thierry
















Avatar
garnote
En ajoutant ScreenUpdatingúlse,
ça devient 20 et 15.
Tout cela a-t-il un sens ?

:-)

Serge

"garnote" a écrit dans le message de news:
XrWLb.29137$

Sur mon ordi :
39 secondes avec [a1] et 33 avec Range("a1").

Sub Qui_Est_Le_Plus_Rapide()
d = Time
For i = 1 To 50000
Range("a1").Select
Next i
MsgBox Format(d - Time, "hh mm ss")
End Sub

Serge


"AV" a écrit dans le message de news:

Salut Papou,

En effet, selon Tom Ogilvy (puisqu'il s'agit de lui), cette méthode
est



beaucoup lente à l'utilisation par rapport à la méthode classique
Range("A1").


Si sur le plan théorique on ne peut qu'être d'accord, le terme
"beaucoup"


me
paraît trés excessif
Sur une manip comme Range("A1").Select ou [A1].Select, il faut boucler
qques

milliers de fois pour commencer à sentir la différence

AV

Toujours selon lui cette méthode ne doit être utilisée que lorsque que
l'on


souhaite évaluer la cellule (ce qui n'est pas le cas je pense pour
Thierry).


Je n'ai pas personnellement testé la différence de temps de traitement
entre


les deux méthodes, mais je pense que l'on peut raisonnablement faire
confiance à Tom Ogilvy.

Cordialement
Pascal

"garnote" a écrit dans le message de news:
Z2TLb.29111$
Salut Thierry,

Tu n'es pas oblligé de sélectionner tes cellules
pour faire ce que tu veux. Voici un exemple :

Sub Copier()
[a1].Copy [e5]
[a1].Interior.ColorIndex = 15
End Sub

Serge


"Thierry" a écrit dans le message de news:
3fffd389$0$239$
Bonjours à tous

je voudrais savoir comment reselectionner une cellule qui a été
copié.




Par exemple je selectionne A1 que je copie en E5, et je voudrais
que





A1
soit
a nouveau selectionnée apres la copie afin de lui affecter un
fomat





particulier.

Merci d'avance pour les reponses

Thierry