Besoin d'aide sur un code "copier - coller"

Besoin d'aide sur un code "copier - coller" - VB/VBA/VBS - Programmation

Marsh Posté le 05-05-2006 à 16:34:46    

Bonjour tout le monde,
 
J'ai besoin d'un petit coup de pouce pour mon application VBA
 
Je dispose d'un classeur excel où chaque feuille comporte une base de données. Cependant, il se peut qu'il y est des données communes sur ces bases de données. Pour me faciliter la vie dans mes saisies, je me suis mis en tête de créer une petite application VBA me permettant de modifier une donnée pour que celle-ci se reporte automatiquement dans les différentes base de données (les informations pouvant se trouver sur des lignes différentes)
 
J'ai créé un petit bidoullage qui pourrait marcher si le code était bon, mais voilà ce n'est pas le cas
 
Enfin j'essaye de l'appliquer sur une toute petit partie de la base de données (et si il fonctionne je le développerai sur l'ensemble du classeur)
 
Je m'explique, j'ai relié la valeur d'une textbox à la cellule "A4" de la feuille "Calculs"
Toujours sur cette même feuille, j'utilise la fonction EQUIV en "A7" qui me permet de déterminer le n° de ligne dans la base de donnée voulu.
 
La valeur de la textbox doit ensuite être copié et collé dans la colonne "E" de chaque base de données (avec le n° de ligne correspondant déterminé par la fonction EQUIV)
 
J'ai essayé d'abord pour une base de données (et on verra pour les autres après) mais je ne suis pas certain du code (d'ailleurs il plante :( )
 
 
Dim cellule As String
cellule = Sheets("Calculs" ).Range("A7" ).Value
 
Sheets("Calculs" ).Range("A4" ).Select
Selection.Copy
 
Sheets("CMME" ).Range("E" & cellule).Select
ActiveSheet.Paste
 
La partie en rouge correspond selon moi à l'erreur, mais voilà je ne sais pas la résoudre...  :cry:

Reply

Marsh Posté le 05-05-2006 à 16:34:46   

Reply

Marsh Posté le 05-05-2006 à 18:51:51    

bonsoir,
Sous réserve que Range("A7" ).Value renvoie bien un nombre...
Pour le vérifier j'ai glissé un MsgBox !
 
Ceci devrait fonctionner :

Code :
  1. Sub Test
  2. Dim cellule As String '(mais integer serait préférable)
  3. cellule = Sheets("Calculs" ).Range("A7" ).Value
  4. MsgBox cellule 'si un nombre > 0 est affiché :Bingo !
  5. Sheets("Calculs" ).Range("A4" ).Copy Sheets("CMME" ).Range("E" & cellule)
  6. End Sub


A+


---------------
roger
Reply

Sujets relatifs:

Leave a Replay

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