Modifier une référence

Jean7234

XLDnaute Nouveau
Bonjour le Forum,

Je cherche à modifier une formule qui m'aide à récupérer des données dans un classeur fermé

Code:
='X:\DIM24\Suivi\2016\03*MARS*2016\Nature\[Lieux.xls]HD'!$D$3

j'ai besoin de récupérer les valeurs sur la feuille HD toutes les 35 lignes
et donc j'aimerais pouvoir obtenir par formule recopiée vers le bas l'équivalent de ce résultat
(35 lignes plus bas)

Code:
='X:\DIM24\Suivi\2016\03*MARS*2016\Nature\[Lieux.xls]HD'!$D$38

J'ai des milliers de lignes pour mes photos à récupérer comme ça et ça me paraît impossible de créer plusieurs milliers de formules...

Si vous pouvez m'aider merci beaucoup,

J'ai essayer avec indirect mais le problème c'est que ça me renvoie une erreur "Valeur" quand le classeur est fermé.

Code:
=DECALER('X:\DIM24\Suivi\2016\03*MARS*2016\Nature\[Lieux.xls]HD'!$D$3;35;0;1;1)
 

Modeste

XLDnaute Barbatruc
Bonjour Jean7234,

Une solution par macro, pour recopier ta formule ... clic droit sur l'onglet de ta feuille > Visualiser le code > Coller les lignes suivantes dans la fenêtre qui s'affiche:
VB:
Sub test()
For lig = 0 To 19
    Cells(lig + 1, 1).FormulaLocal = "='X:\DIM24\Suivi\2016\03*MARS*2016\Nature\[Lieux.xls]HD'!D" & 3 + lig * 35
Next lig
End Sub
Ceci inscrira dans les cellules A1 à A20 de la feuille concernée, la formule avec un décalage de 35 lignes dans chaque formule ... Le tout si j'ai bien compris!?
 

Jean7234

XLDnaute Nouveau
Merci, oui je comprend,

donc j'ai fait comme ça :
Code:
Sub test()
For lig = 0 To 19
    Cells(lig + 1, 2).FormulaLocal = "='X:\DIM24\Suivi\2016\03*MARS*2016\Nature\[Lieux.xls]HD'!D" & 3 + lig * 35
Next lig
End Sub

Mais j'ai un soucis les cellules se remplissent bien des formules qui conviennent mais je passe directement à la 2nde photo et pas la première
donc je crois comprendre que la formule rédigée se place directement 35 lignes en dessous alors qu'il faudrait qu'elle prenne d'abord la première valeur avant, sur la ligne suivante, de donner la seconde etc...
 

Modeste

XLDnaute Barbatruc
Re²,

Au premier passage dans la boucle, la variable lig vaut 0
Donc en fin de ligne, "D" & 3 + 0 * 35 ... devrait bien donner D3 (il suffit de regarder les formules en B1, puis B2, etc tu devrais y retrouver D3, puis D38, etc.) ... Ce n'est pas le cas??
 

Jean7234

XLDnaute Nouveau
Oui, mon erreur, j'avais initié à 1... merci beaucoup, c'est ma première demande sur ce forum (inscrit ce matin) et je peux dès à présent goûter son efficacité.

Un petit cadeau... joli papillon en pièce-jointe
Papillon_301016_Originale.jpg
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 916
Membres
104 305
dernier inscrit
EDIT