recuperer valeurs d\'1 cellule des autres feuilles

gilles21

XLDnaute Nouveau
recuperer valeurs d'1 cellule des autres feuilles

Bonjour,

Dans une plage de cellules (ex A1 à Ax) d'une feuille de classeur actif, je souhaite récupérer les valeurs contenues dans une meme cellule (ex B12) de toutes les autres feuilles du classeur, quelque soit leur nombre (x) et leur nom.
Pouvez vous m'aider?

merci de m'avoir lu

gilles
;)

Message édité par: gilles21, à: 10/06/2005 08:50
 

Robert

XLDnaute Barbatruc
Repose en paix
Re:recuperer valeurs d'1 cellule des autres feuilles

Bonjour Gilles, bonjour le forum,

Je te propose la macro ci-dessous :


Option Explicit

Sub Macro1()
Dim ws As Worksheet 'déclare la variable ws
Dim dest As Range 'déclare la variable dest
Dim x As Byte 'déclare la variable x
Set ws = Sheets('Feuil1') 'définit la variable ws (à adapter, remplace par le nom de ton onglet Master)
Set dest = ws.Range('A1') 'définit la variable dest
For x = 1 To Sheets.Count 'boucle sur tous les onglets du classeur
If Sheets(x).Name <> ws.Name Then 'condition : si l'onglet n'est pas ws
Sheets(x).Range('B12').Copy Destination:=dest 'copie B12 et le colle dans dest
Set dest = dest.Offset(1, 0) 'redéfinit dest
End If 'fin de la condition
Next x 'prochain onglet du classeur
End Sub
 
G

gilles21

Guest
Re:recuperer valeurs d'1 cellule des autres feuilles

merci beaucoup, Robert pour ton aide très rapide! :)

ça marche, sauf que les cellules B12 des feuilles contiennent en réalité une formule et non une valeur
du coup, on retrouve le résultat de la premiere feuille dans toutes les cellules A1 à Ax :huh:

j'imagine que dans la ligne:
----------------------------
Sheets(x).Range('B39').Copy Destination:=dest 'copie B39 et le colle dans dest
---------------------------
il faut rajouter la notion de 'copier valeur', mais je ne connais pas la syntaxe...

un dernier petit coup de main?

gilles
;)
 

Robert

XLDnaute Barbatruc
Repose en paix
Re:recuperer valeurs d'1 cellule des autres feuilles

Bonjour Gilles, Bonjour le forum,

Alors essaie comme ça :


Sub Macro1()
Dim ws As Worksheet 'déclare la variable ws
Dim dest As Range 'déclare la variable dest
Dim x As Byte 'déclare la variable x
Set ws = Sheets('Feuil1') 'définit la variable ws (à adapter, remplace par le nom de ton onglet Master)
Set dest = ws.Range('A1') 'définit la variable dest
For x = 1 To Sheets.Count 'boucle sur tous les onglets du classeur
If Sheets(x).Name <> ws.Name Then 'condition : si l'onglet n'est pas ws
Sheets(x).Range('B12').Copy 'copie B12
dest.PasteSpecial (xlPasteValues) 'colle la valeur de B12
Set dest = dest.Offset(1, 0) 'redéfinit dest
End If 'fin de la condition
Next x 'prochain onglet du classeur
End Sub

Message édité par: Robert, à: 10/06/2005 11:23
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 379
Messages
2 087 767
Membres
103 662
dernier inscrit
rterterert