Comment recuperer la valeur d'une cellule?

Fermé
Tsukasa - 9 juin 2010 à 21:59
 Tsukasa - 21 juin 2010 à 09:20
Bonjour tout le monde,

Je viens de "me mettre" au vb il y a deux jours et je cherche à creer une petite macro qui permetterai de copier la valeur d'une cellule située dans une feuille Feuil1 vers une cellule d'une autre feuille Feuil2.

Je cherche donc à copier la valeur de la cellule et non pas ce qu'elle contient.

J'explique :) la valeur que je cherche à recuperer est le resultat de la fonction sous.total.
exple: la cellule A1 de Feuil1 contient "=SOUS.TOTAL(3;J1:J10)" et vaut 234, je desire copier cette valeur de A1 (ie 234) dans la cellule C1 de la Feuil2.
le truc c'est que la valeur de la cellule A1 est amenée à changer tres souvent (1 fois toutes les 2 min) je cherche en fait à lister les valeurs que va prendre cette cellule, comme si je prenais un instantané da la cellule A1 et la au fur et a mesure dans la colonne C1 de Feuil 2.

Sauriez vous comment cela serait possible svp, que ce soit via une fonction ou via un code en vb?

Je vous remercie d'avance pour votre aide.

Bonne journée à vous :)

4 réponses

charles1453 Messages postés 172 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 8 février 2013 17
20 juin 2010 à 16:45
salut,
voici le code avec vb2008 ou vb2010

Public xlApp As Excel.Application
Public xlBook As Workbook
Public xlSheet1 As Worksheet
Public xlSheet2 As Worksheet

'--- Ouvrir le fichier ---
xlApp = New Excel.Application
xlBook = xlApp.Workbooks.Open("C:\Chemin\fichier.xlsx")
xlSheet1 = xlBook.Worksheets("feuil1")
xlSheet2 = xlBook.Worksheets("feuil2")
xlSheet.Visible = True
xlApp.Visible = False
xlApp.DisplayAlerts = False

'-----copie des données-----
xlSheet2.Range("C1").Value = xlSheet1.Range("A1").Value

'----on save et on feme----
xlbook.save()
xlbook.close()
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
20 juin 2010 à 17:38
Bonjour,

En VBA, puisqu'il s'agit d'une macro et non d'une utilisation d'Excel par une autre application ^^ :

Worksheets(2).Range("C1").Value = Worksheets(1).Range("A1").Value


Tout simplement

;o)
0
charles1453 Messages postés 172 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 8 février 2013 17
20 juin 2010 à 18:06
autant pour moi, j'avais pas lu "macro".
0
Merci beaucoup :)

Bonne journée à vous
0