Coller une valeur en mémoire en provenance d'excel dans une macro

Coller une valeur en mémoire en provenance d'excel dans une macro - VB/VBA/VBS - Programmation

Marsh Posté le 27-07-2006 à 11:44:56    

Bonjour, j'ai un problème et je ne trouve pas la réponse, je souhaiterais écrire une macro qui fasse ceci :
 
- Copier une cellule donnée dans une feuille 1
- Aller sur une feuille 2 et lancer une recherche de la valeur copiée dans la feuille 1
 
Seulement ce que je ne veux pas c'est que dans le code de la macro soit écris la dite valeur, en effet cette valeur change régulierement et donc si la valeur est écrite telle qu'elle dans le code il faudra que j'écrive autant de macro que de valeurs...
 
Actuellement j'ai ça :
 

Code :
  1. Sub Macro9()
  2. '
  3. ' Macro9 Macro
  4. ' Macro enregistrée le 27/07/2006 par
  5. '
  6. '
  7.     Range("B7" ).Select
  8.     Selection.Copy
  9.     Windows("rapport_f02_facturation.csv" ).Activate
  10.     Range("E1" ).Select
  11.     Cells.Find(What:="12854", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
  12.         :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
  13.         False, SearchFormat:=False).Activate
  14.     ActiveCell.Offset(0, 4).Range("A1" ).Select
  15.     Application.CutCopyMode = False
  16.     Selection.Copy
  17.     Windows("modèle facture verte excel 2.xls" ).Activate
  18.     ActiveCell.Offset(10, 0).Range("A1" ).Select
  19.     ActiveSheet.Paste
  20.     Windows("rapport_f02_facturation.csv" ).Activate
  21.     ActiveCell.Offset(0, 10).Range("A1" ).Select
  22.     Application.CutCopyMode = False
  23.     Selection.Copy
  24.     Windows("modèle facture verte excel 2.xls" ).Activate
  25.     ActiveCell.Offset(1, 0).Range("A1" ).Select
  26.     ActiveSheet.Paste
  27. End Sub


 
En gros je souhaite savoir quoi écrire à la place du truc en bleu pour qu'il me colle la valeur en mémoire. J'ai déjà essayé Paste mais ça marche pas :/
 
Merci d'avance.


Message édité par hellfire_lz le 27-07-2006 à 11:50:18
Reply

Marsh Posté le 27-07-2006 à 11:44:56   

Reply

Marsh Posté le 27-07-2006 à 11:48:16    

t'autorises-tu à stocker la valeur dans une cellule de ton tableau ? Auquel cas, tu peux remplacer par
a = cells(i,j).value
... What:=a

Reply

Marsh Posté le 27-07-2006 à 11:50:48    

mmh oui ça serait une possibilité, je vais essayer :)


Message édité par hellfire_lz le 27-07-2006 à 11:50:57
Reply

Marsh Posté le 27-07-2006 à 12:02:42    

Hum, étant donné que le vb remonte à quelques années pour moi, il faut que je la déclare où et comment ma variable a?

Reply

Marsh Posté le 27-07-2006 à 12:05:18    


Code :
  1. Sub Macro9()
  2. '
  3. ' Macro9 Macro
  4. ' Macro enregistrée le 27/07/2006 par
  5. '
  6. dim a as String
  7. '
  8.     Range("B7" ).Select
  9.     Selection.Copy
  10.     Windows("rapport_f02_facturation.csv" ).Activate
  11.     Range("E1" ).Select
  12. a= cells(1,1).value
  13.     Cells.Find(What:=a, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
  14.         :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
  15.         False, SearchFormat:=False).Activate
  16.     ActiveCell.Offset(0, 4).Range("A1" ).Select
  17.     Application.CutCopyMode = False
  18.     Selection.Copy
  19.     Windows("modèle facture verte excel 2.xls" ).Activate
  20.     ActiveCell.Offset(10, 0).Range("A1" ).Select
  21.     ActiveSheet.Paste
  22.     Windows("rapport_f02_facturation.csv" ).Activate
  23.     ActiveCell.Offset(0, 10).Range("A1" ).Select
  24.     Application.CutCopyMode = False
  25.     Selection.Copy
  26.     Windows("modèle facture verte excel 2.xls" ).Activate
  27.     ActiveCell.Offset(1, 0).Range("A1" ).Select
  28.     ActiveSheet.Paste
  29. End Sub


 
En gros je souhaite savoir quoi écrire à la place du truc en bleu pour qu'il me colle la valeur en mémoire. J'ai déjà essayé Paste mais ça marche pas :/
 
Merci d'avance.[/quotemsg]

Reply

Marsh Posté le 27-07-2006 à 13:14:49    

yipee ca marche :)
 
merci beaucoup :)

Reply

Sujets relatifs:

Leave a Replay

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