Macro onClick copy/paste Excel

Macro onClick copy/paste Excel - VB/VBA/VBS - Programmation

Marsh Posté le 08-12-2009 à 10:10:05    

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 !

Reply

Marsh Posté le 08-12-2009 à 10:10:05   

Reply

Marsh Posté le 08-12-2009 à 14:23:26    

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
Reply

Marsh Posté le 08-12-2009 à 14:56:52    

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

Reply

Marsh Posté le 08-12-2009 à 15:06:20    

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
Reply

Marsh Posté le 09-12-2009 à 03:14:41    

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
Reply

Marsh Posté le 09-12-2009 à 03:21:22    

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.

Reply

Marsh Posté le 09-12-2009 à 10:11:48    

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
Reply

Marsh Posté le 09-12-2009 à 10:31:42    

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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed