Récupérer valeur d'une cellule par son adresse

apnw7931

XLDnaute Nouveau
Bonjour, dans un classeur Excel, j'ai 5 feuilles.

Sur une 6ème feuille, j'aimerai pouvoir récupérer, par exemple, toutes les valeurs des cellules B5 de chacune des 5 feuilles.

Donc, sur ma feuille 6, je veux qqch du genre:

A1 = B5 de la feuille 1
B1 = B5 de la feuille 2
C1 = B5 de la feuille 3
D1 = B5 de la feuille 4
E1 = B5 de la feuille 5

Comment faire s'il vous plait ?

A terme, le choix de la selection se fera par un userform.
(variable a = B, varible b = 5)

Merci?
 

Efgé

XLDnaute Barbatruc
Re : Récupérer valeur d'une cellule par son adresse

Bonjour apnw7931,
Pour "A1 = B5 de la feuille 1"
Code:
Sheets("Feuil6").Range("A1").Value = Sheets("Feuil1").Range("B5").Value
Pour le problème du UserForm, il faudrait un fichier exemple.
Cordialement
 

apnw7931

XLDnaute Nouveau
Re : Récupérer valeur d'une cellule par son adresse

Pour l'instant, j'ai ca qui fonctionne pour la première feuille
Mais ca reste du statique.

= "=INDIRECT( ""'Feuil1'!""&""B5"",TRUE )"

Mais j'aimerai pouvoir inserer dans la fonction des arguments

x = B
y = 5

--> =INDIRECT( ""'Feuil1'!""& x&y,TRUE )" mais ca fonctionne pas.
 

apnw7931

XLDnaute Nouveau
Re : Récupérer valeur d'une cellule par son adresse

@ Fredo, ca bug dans VBA. Mais je cherche vraiment qqch comme ca !!

@ Roger, j'ai deja réussi a arriver a ce résultat. Ce qui me faut, c'est une et une seule fonction (c'est a dire qui ne dépend pas d'autres "nouvelles" cellules)
 

Efgé

XLDnaute Barbatruc
Re : Récupérer valeur d'une cellule par son adresse

Re apnw7931,
Bonsoir Fred0o, ROGER2327,
A terme, le choix de la selection se fera par un userform.
(variable a = B, varible b = 5)
Je pense qu'il serait préférable d'avoir un peu plus d'explications. Si nous parlons de variable récupérée dans USF ou un problème de formule sur une feuille.
Pour l'instant, comprend pas la réelle demande.
Cordialement
 

Fred0o

XLDnaute Barbatruc
Re : Récupérer valeur d'une cellule par son adresse

Re bonsoir apnw7931,

Si je me réfère à ta demande initiale :
Bonjour, dans un classeur Excel, j'ai 5 feuilles.

Sur une 6ème feuille, j'aimerai pouvoir récupérer, par exemple, toutes les valeurs des cellules B5 de chacune des 5 feuilles.

Donc, sur ma feuille 6, je veux qqch du genre:

A1 = B5 de la feuille 1
B1 = B5 de la feuille 2
C1 = B5 de la feuille 3
D1 = B5 de la feuille 4
E1 = B5 de la feuille 5

Comment faire s'il vous plait ?

A terme, le choix de la selection se fera par un userform.
(variable a = B, varible b = 5)

Je comprends que tu veux afficher dans la feuil6 dans les cellules respectivement A1 => E1, le contenu de chaque cellule B5 pour les feuilles Feuil1 => Feuil5.

Donc dans ce cas, il le faut pas utiliser la fonction INDIRECT mais plutôt le code fourni par Efgé
Code:
Sheets("Feuil6").Range("A1").Value = Sheets("Feuil1").Range("B5").Value
qui fait référence au contenu de chaque cellule B5. La fonction INDIRECT, elle, fait référence au contenu de la cellule dont l'adresse se trouve en B5.

A+
 

apnw7931

XLDnaute Nouveau
Re : Récupérer valeur d'une cellule par son adresse

Code:
Sheets("Feuil6").Range("A1").Value = Sheets("Feuil1").Range("B5").Value

Le probleme ici, est le B5.
J'aimerai une formule du genre

Code:
cellule_arbitraire = B5
Sheets("Feuil6").Range("A1").Value = Sheets("Feuil1").Range(cellule_arbitraire).Value

de telle sorte que ma formule/macro reste correcte, et ce pour n'importe quelle cellule que je définirai

Edit : comme ca,ca semble fonctionner
Code:
a = "J11"
'
Cells(1, 1) = Sheets("H1").Range(a).value
 
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : Récupérer valeur d'une cellule par son adresse

Re bonsoir

Tu peux écrire quelque chose dans le genre :
Code:
    x = "B"
    y = 5
    celTmp = x & y
    Sheets("Feuil6").Range("A1").Value = Sheets("Feuil1").Range(celTmp).Value

Ainsi, tu pourras faire varier x et y à ta guise.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 132
Membres
104 042
dernier inscrit
tropsy89