insertion tableau sur case selectionée

insertion tableau sur case selectionée - VB/VBA/VBS - Programmation

Marsh Posté le 03-04-2012 à 11:07:47    

Bonjour,
 
Comme la plupar des personne qui pose des question je suis novice en VBA, je comprend tout de même assez facilement ce code car je sais deja programmer en C.
 
voici mon probleme
 
Je dois réaliser une fiche de production et pour ce faire je dois inserer des tableaux sur une feuille. Ces tableau son existant sur une autre feuille, j'arrive grace au macro à les inserer mais à un endroit préci grace au code suivant  
 
Sub eclairage()
 
Worksheets("base de donnée" ).Range("A30:D32" ).Copy Worksheets("proto 1" ).Range("A39" )
 
End Sub
 
 
Mon probleme est le suivant, je voudrais inserer ce tableau non pas dans la case "A39" mais dans une case selectioné  
 
Merci par avance de votre aide

Reply

Marsh Posté le 03-04-2012 à 11:07:47   

Reply

Marsh Posté le 03-04-2012 à 14:00:10    

Bonjour,
 
Voici ce que tu peux faire :
 

Code :
  1. Sub Test()
  2. Dim cellule As Range
  3. Set cellule = ActiveCell
  4. Worksheets("base de donnée" ).Range("A30:D32" ).Copy cellule
  5. Set cellule = Nothing
  6. End Sub


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 03-04-2012 à 14:08:42    

yes!!!!!!
 
sa marche  
 
merci beaucoup, malgrée le faite que je comprenne un peut ce language j'aimerais que tu m'explique ta méthode pour résoudre ce probleme.
 
en effet c'est génial sa marche mais si je pouvais utilisé moi même mes cellules grise ce serais mieux ^^
 
en tout cas merci encore

Reply

Marsh Posté le 03-04-2012 à 14:43:50    

:jap:  
 
Alors, en premier, tu déclares une variable en tant qu'objet cellule (ou plage de cellules)

Code :
  1. Dim cellule As Range


 
Pour l'instant, ton objet est non alloué, donc null.
Donc, on dit que ton objet est égal à l'objet cellule active

Code :
  1. Set cellule = ActiveCell


En faisant ça, ce qui est intéressant, c'est que ton objet cellule récupère toutes les caractéristiques et méthodes d'une cellule normale.
 
Ensuite, tu remplace le code d'origine par l'objet :

Code :
  1. Worksheets("base de donnée" ).Range("A30:D32" ).Copy Worksheets("proto 1" ).Range("A39" )
  2. Worksheets("base de donnée" ).Range("A30:D32" ).Copy cellule


Donc là, tu remarqueras que ton objet cellule est égal à une cellule très précise (onglet + adresse de la cellule).
 
Quand tu n'as plus besoin de manipuler ton objet, tu le détruis pour désallouer la mémoire :

Code :
  1. Set cellule = Nothing


 
 
Voilà, j'espère que c'est clair, sinon, tu peux demander, j'essaierai de répondre  :)


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 03-04-2012 à 14:55:22    

Encore un grand merci pour ton aide et tes explication tres presise et tres claire.
 
J'ai tout compris

Reply

Sujets relatifs:

Leave a Replay

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