Macro copie de cellule

[Résolu/Fermé]
Signaler
Messages postés
34
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
21 mars 2011
-
Messages postés
34
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
21 mars 2011
-
Bonjour,

tres simple

je souhaite copier une seule cellule d'une feuille dans une autre cellule d'une feuille voisine.

en macro biensur, pour Excel 2003

Merci d'avance



3 réponses

Bonjour,
Pour obtenir le code macro correspondant à une action donnée, il suffit de démarrer une macro, de démarrer l'enregistrement, de faire l'action puis d'arrêter l'enregistrement. Ensuite, une visite dans le code de la maccro enregistrée permet, avec modifications, d'obtenir l'action souhaitée en macro.

Ex:
Réaliser une macro qui remplace 55,6 par 56 dans toute la feuille.
Démarrer un enregistrement de macro, puis ctrl+R, écrire le remplacement dans les zones définies ( 55,6 et 56 ) puis remplacer tout.
Arrêter l'enregistrement. Accéder ensuite au code source de la macro puis faites les modifications que vous voulez.
Attention toutefois aux avertissements de sécurités.
1
Merci

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

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
15
Bonjour,
un exemple simple pour copier la cellule A1 de la Feuil1 vers la cellule B1 de la Feuil2:
Sub copier()
Sheets("Feuil1").Range("A1").Copy Sheets("Feuil2").Range("B1")
End Sub

Tu n'as plus qu'à changer les noms de feuilles et les cellules par rapport a tes besoins.
A+
Messages postés
34
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
21 mars 2011

Merci de l'astuce de l'enregistrement :)

j'ai intégré le code dans un bouton comme je voulais

    'Transfert des données
    Sheets("Sheet1").Select
    Range("A2").Select
    Selection.Copy
    Sheets("Sheet3").Select
    Range("E4").Select
    ActiveSheet.Paste


Merci
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
15
Bonjour,
Pour Info,le code donné par l'enregistreur de macro te donne une piste ce qui est très bienet lorsqu'on ne sait pas comment faire il faut s'en servir.
Toutefois on peux épurer ce code, par exemple ici, si tu souhaites faire la même opération plusieurs fois il faut éviter les ".select" qui ralentissent le code.
Tu peux simplifier toutes les lignes de ta macro en faisant ceci:
Sheets("Sheet1").Range("A2").Copy Sheets("Sheet3").Range("E4")

Cette ligne fait la même chose. Elle copie La cellule A2 de Sheet1 vers la cellule E4 de Sheet3.
Cordialement.
Messages postés
34
Date d'inscription
mardi 8 mars 2011
Statut
Membre
Dernière intervention
21 mars 2011

en effet le code est beaucoup plus leger de cette maniere.

On m'avait parlé de cette syntaxe mais je ne comprenais pas qu'il comprenait que la cellule E4 était celle de déstination sans avoir a rajouter Paste.

Merci rv83toulon