Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2677 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro onClick copy/paste Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro onClick copy/paste Excel

n°1948249
Odissine
Posté le 08-12-2009 à 10:10:05  profilanswer
 

Bonjour à tous,
Voilà j'ai besoin de faire un truc très simple... Mais je trouve pas même avec Google, j'ai bien des trucs mais ca ne marche pas comme je le voudrais...
 
En clair j'ai un fichier excel (qu'on va appeler fichier.xls) et dedans 4 feuilles (feuil1, 2, 3 et 4).
feuil1 contient un bouton qui exécutera les deux macros :
 
Macro 1 : copier le contenu de la cellule E47 (cellule avec formule) de la feuil4 dans la cellule B11 de la même feuil4 (mais uniquement la valeur ... Pas la formule)
Macro 2 : copier le contenu de la cellule C57 de la feuil2 dans la cellule C7 de la même feuil2 ...
 
Je sais ça parait simple pour certain ;) mais je trouve pas :s ...
 
Merci pour votre aide !

mood
Publicité
Posté le 08-12-2009 à 10:10:05  profilanswer
 

n°1948386
otobox
Maison fondée en 2005
Posté le 08-12-2009 à 14:23:26  profilanswer
 

L'enregistreur de macro est efficace dans ce cas là. Le code ci-dessous est tiré de là, j'ai rajouté les commentaires et supprimé les choses inutiles.

Sub Macro1()
    'Sélection de la feuille "feuil4" :
    Sheets("Feuil4" ).Select
    'Sélection de la cellule "E47" de la feuille 4 :
    Range("E47" ).Select
    'Copie de la cellule active :
    Selection.Copy
    'Sélection de la cellule "B11" de la feuille 4 :
    Range("B11" ).Select
    'Collage spécial : ne coller que la valeur de la cellule copiée :
    Selection.PasteSpecial Paste:=xlPasteValues
    'Sélection de la feuille "feuil2" :
    Sheets("Feuil2" ).Select
    'Sélection de la cellule "C57" de la feuille 4 :
    Range("C57" ).Select
    'Copie de la cellule active :
    Selection.Copy
    'Sélection de la cellule "C7" de la feuille 4 :
    Range("C7" ).Select
    'Collage spécial : ne coller que la valeur de la cellule copiée :
    Selection.PasteSpecial Paste:=xlPasteValues
   
    'Sélection de la feuille "feuil1" :
    Sheets("Feuil1" ).Select
End Sub


Message édité par otobox le 08-12-2009 à 14:23:56

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1948416
Odissine
Posté le 08-12-2009 à 14:56:52  profilanswer
 

Merci pour ton aide ;)
Je connaissais pas l'enregistreur de macro pas con :p pour la prochaine fois ;)
 
Merci encore !

n°1948421
otobox
Maison fondée en 2005
Posté le 08-12-2009 à 15:06:20  profilanswer
 

L'enregistreur de macro, c'est la base...


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1948584
Laoo
Posté le 09-12-2009 à 03:14:41  profilanswer
 

Bonjour
 
  Cette méthode est la plus classique, et excellente pour découvrir le cheminement complet, mais il y a aussi cette variante, intéressante à connaître,  rapide à écrire et à exécuter :
(la cellule de destination prend la VALEUR de la cellule source)
 

Code :
  1. Sub Macro1()
  2.      Sheets("Feuil4" ).Range("B11" ).Value = Sheets("Feuil4" ).Range("E47" ).Value
  3.      Sheets("Feuil2" ).Range("C7" ).Value = Sheets("Feuil2" ).Range("C57" ).Value
  4. End Sub


 
Et cela évite tout déplacement.
 
Cordialement


---------------
Olympus OM-D  EM-5 + 14-42
n°1948585
Laoo
Posté le 09-12-2009 à 03:21:22  profilanswer
 

Au fait, un autre petit truc que tu ne connais peut-être pas encore:
     Pour voir l'exécution d'une macro pas à pas, tu te places dans celle-ci et tu tapes sur la touche "F8". A chaque fois tu exécutes la ligne de commande suivante.
    c'est instructif et bien commode.

n°1948624
otobox
Maison fondée en 2005
Posté le 09-12-2009 à 10:11:48  profilanswer
 

Laoo a écrit :

Bonjour
 
  Cette méthode est la plus classique, et excellente pour découvrir le cheminement complet, mais il y a aussi cette variante, intéressante à connaître,  rapide à écrire et à exécuter :
(la cellule de destination prend la VALEUR de la cellule source)
 

Code :
  1. Sub Macro1()
  2.      Sheets("Feuil4" ).Range("B11" ).Value = Sheets("Feuil4" ).Range("E47" ).Value
  3.      Sheets("Feuil2" ).Range("C7" ).Value = Sheets("Feuil2" ).Range("C57" ).Value
  4. End Sub


 
Et cela évite tout déplacement.
 
Cordialement


Oui, c'est vrai... je n'y avais même pas pensé, c'était trop simple :P Je suis resté sur son idée de copier/coller  :sarcastic:


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1948628
Laoo
Posté le 09-12-2009 à 10:31:42  profilanswer
 

otobox a écrit :


Oui, c'est vrai... je n'y avais même pas pensé, c'était trop simple :P Je suis resté sur son idée de copier/coller  :sarcastic:


 
 
Hello    :hello:  
 
C'est dingue comme on est parfois le nez sur le guidon!  
 
J'ai hésité à poster, pour ne pas avoir l'air de te reprendre ou de donner des leçons, mais comme c'est ce que j'ai pensé, je me suis quand même permis.     :sol:


---------------
Olympus OM-D  EM-5 + 14-42

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro onClick copy/paste Excel

 

Sujets relatifs
Problème de génération de fichier excel sous easyPHP 1.8Excel: création mail automatique
Base de données sur ExcelTurbo macro
Lier deux onglets entre eux par une macro[MACRO EXCEL] créer une macro insérer des feuilles
[wxWidgets] La macro WXDLL_ENTRY_FUNCTION[VBA Excel] Changer la couleur suite a une formule
macro creation autormatique combobox VB 
Plus de sujets relatifs à : Macro onClick copy/paste Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR