sélectionner une cellule

youpe

XLDnaute Nouveau
Bonsoir,
je suis nouveau sur le forum et je recherche de l'aide sur une macro;
Private Sub CommandButton1_Click()
Range("A1").Select
Selection.Copy
ActiveCell.Select
ActiveSheet.Paste
End Sub
Je pensais ainsi pouvoir recopier le contenu de la cellule A1 dans n'importe quelle cellule sélectionnée, cependant activecell ne fonctionne pas, je pense donc que la commande activecell n'est pas bonne, mais je ne vois pas par quoi la remplacer.

Merci pour votre aide.
Jo
 

tototiti2008

XLDnaute Barbatruc
Re : sélectionner une cellule

Bonjour youpe,

bienvenue sur XLD,

si tu sélectionne A1, c'est A1 qui devient la cellule active
Tu peux copier sans sélectionner

essaye

Code:
Private Sub CommandButton1_Click()
    Range("A1").Copy
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub

Edit : Salut Pierrot :), Salut VDAVID :), Salut Dranreb :), Salut Mapomme :)
 
Dernière édition:

VDAVID

XLDnaute Impliqué
Re : sélectionner une cellule

Bonsoir Youpe et Bienvenue,

En fait ton code ne fonctionne pas car ActiveCell renvoie la cellule que tu sélectionnes or si tu mets:

Code:
Range("A1").Select
Selection.Copy

Tu active A1 et donc la copie va se faire sur [A1]

Tu peux simplement mettre:
Code:
Range("A1").Copy
pour au final:

Code:
Range("A1").Copy 'Copie de la cellule A1
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False 'Collage du presse papier dans la cellule active
Application.CutCopyMode = False '"Vidage" du presse papier

Bonne soirée !

EDIT : Bonjour Tototiti2008, Pierrot93 trop lent :eek:
 

Dranreb

XLDnaute Barbatruc
Re : sélectionner une cellule

Bonjour.
Une seule des deux instruction devrait faire l'affaire.
VB:
Private Sub CommandButton1_Click()
ActiveCell.Value = Me.[A1].Value ' si le format n'est pas important
Me.[A1].Copy Destination:=ActiveCell ' s'il l'est
End Sub
ActiveCell est donc bon, mais un Select l'altère !
Cordialement.

Rebonjour tous.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : sélectionner une cellule

Bonsoir youpe et bienvenu :)

Ta macro:
Range("A1").select => tu sélectionnes la cellule A1 , La cellule active devient donc A1.
Selection.Copy => tu copies la sélection (c'est à dire la cellule A1 que tu as sélectionnée ci dessus)
Active.cell.select => tu sélectionnes la cellule active qui est en fait A1
puis tu y colles la valeur copiée.

Ta macro revient donc à aller en A1, copier A1 et coller sur A1.

En VBA, il est très souvent inutile de sélectionner les cellules pour réaliser une action. Tu peux écrire:

Code:
Private Sub CommandButton1_Click()
  Range("A1").Copy ActiveCell
End Sub

=> on copie la cellule A1 (sans la sélectionner) et on colle sur la cellule active.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry