Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:

Pierrot93

XLDnaute Barbatruc
Re : sélectionner une cellule

Bonjour,

essaye ceci :
Code:
Range("A1").Copy Destination:=ActiveCell

A noter, les "select" sont rarement utililes en vba.

bone soirée
@+

Edition : bonjour toto
 

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
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…