Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2011, 11h47   #1
Invité régulier
 
Inscription : avril 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 63
Points : 9
Points : 9
Par défaut Calculer l'adresse d'une cellule

Bonjour,
Sur Excel, je souhaite créer une feuille qui est en fait une liaison vers d'autres feuilles du même classeur.
Par ex sur la feuil2!
En A1 = feuil1!A10
En A2 = feuil1!A11
Jusque là assez simple, par incrémentation aucun problème.

Mais ce que je souhaite est:
En A1 = feuil1!A10
En A2 = feuil1!A20
En A3 = feuil1!A30

Donc en fait, il faudrait rajouter 10 à chaque cellule, et le problème est que lorsque je j'incrémente çà ne fonctionne pas.
Est-ce que quelqu'un pourrait m'aider?
Merci beaucoup.
aweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h54   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Bonjour,

A tester

Dans une colonne disponible tu mets les numéros de ligne (10,20,30 ....) ici colonne D

Dans la colonne A :

Code :
=INDIRECT("feuil1!A"&D1)
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 12h11   #3
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
En A1 de feuil2 tu mets
Code :
=INDIRECT(ADRESSE(10*LIGNE();1;;;"Feuil1"))
Et tu tire vers le bas
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/06/2011, 13h07   #4
Invité régulier
 
Inscription : avril 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 63
Points : 9
Points : 9
Merci pour vos réponses,
Je suis en train de tester.
Mercatog, est ce que tu peux m'expliquer ta fonction, parce que je dois l'adapter pour mon fichier et je ne le comprends pas, désolé.
aweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 13h18   #5
Invité régulier
 
Inscription : avril 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 63
Points : 9
Points : 9
Je me suis mal expliqué dans mon exemple.
c'est à peine ce que je désire, donc je rexplique.

En A1 = feuil1!A10
En A2 = feuil1!A11
En A3 = feuil1!A12
Puis:
En A4 = feuil1!A20
En A5 = feuil1!A21
En A6 = feuil1!A22
Puis:
En A7 = feuil1!A30
En A8 = feuil1!A31
En A9 = feuil1!A32

Et ainsi de suite pour énormement de ligne (environ 7000 lignes)

C'est à ddire que toutes les 3 lignes, je renvoie à 10 lignes plus bas de ma source feuil1.

Ce que je pensais faire, mais c'est là que je peine, je voulais saisir mon premier bloc à la main (donc en A1, A2, A3),
puis pour le suivant lui dire que A4 = A1 mais + 10 lignes, et ensuite en faisant glisser vers le bas, A5 = A2 + 10 lignes, A6 = A3 +10 lignes, A7 = A4 + 10 lignes, etc

Je pensais faire glisser cette formule jusqu'à ma 7000ème ligne.

Merci de votre aide.
aweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 15h03   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
=INDIRECT(ADRESSE(10*ENT((10*LIGNE()+20)/30)+(MOD(LIGNE()-1;3));1;;;"Feuil1"))
Regarde l'aide sur ADRESSE() et INDIRECT()
Pour la formule donnant la ligne
Code :
10*ENT((10*LIGNE()+20)/30)+(MOD(LIGNE()-1;3))
, c'est du calcul fait par étapes.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 22h48   #7
Invité régulier
 
Inscription : avril 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 63
Points : 9
Points : 9
Merci pour les explications.
Je pense avoir compris la formule adresse, indirecte...

Par contre, je ne comprends pas ton calcul mathématique pour faire changer le n° de ligne toutes les 3 lignes en recopiant vers le bas.

En plus, mon exemple était vraiment un exemple. Je l'avais indiqué pour comprendre la formule et ensuite l'adapter à mon cas, ce que j'ai essayé, mais en vain pour le moment.

En réalité je dois obtenir ceci:
En A3 = feuil1!A4
En A4 = feuil1!A5
En A5 = feuil1!A6
En A6 = feuil1!A7
En A7 = feuil1!A8
En A8 = feuil1!A9
En A9 = feuil1!A10
En A10 = feuil1!A11
En A11 = feuil1!A12
En A12 = feuil1!A13
En A13 = feuil1!A14
En A14 = feuil1!A15
En A15 = feuil1!A16
En A16 = feuil1!A17
En A17 = feuil1!A18
En A18 = feuil1!A19
En A19 = feuil1!A20
En A20 = feuil1!A21
En A21 = feuil1!A22
En A22 = feuil1!A23
En A23 = feuil1!A24
En A24 = feuil1!A25

Et

En A25 = feuil1!A34
De A26 à A46 ---- A26=feuil1!A35 ---- jusqu'à ---- A46 = feuil1!A55

Et

En A47 = feuil1!A64

En fait je saute 9 lignes par rapport à la précédente toutes les 22 lignes (je dois faire +9 lors de la 23ème ligne).

Ici A55 + 9 = A64

Merci pour votre aide.
aweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 22h56   #8
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bof!
S'il n'y a pas d'équation linéaire, tu ne peux pas généraliser.
Une chose à signaler: Ligne() désigne la ligne de la cellule où la formule est écrite.
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 09h12   #9
Invité régulier
 
Inscription : avril 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 63
Points : 9
Points : 9
Bonjour,
effectivement, çà devient plus compliqué.
Je vais continuer à chercher peut-être en partant du n° ligne trouvé dans la 1ère ligne, et ensuite lui additionner 30.
En A3=feuil1!4
En A25=feuil1!34
En A47=feuil1!64

Il y a peut-être à creuser la desssus.

Si quelqu'un a une idée, je suis preneur.

Merci
aweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2011, 09h39   #10
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Bonjour,

J'ai utilisé deux formules une avec DECALER() l'autre avec INDIRECT et ADRESSE.

Code :
=DECALER(Feuil1!$A$4;MOD(LIGNE()-3;22)+(30*ENT((LIGNE()-3)/22));0)
Code :
=INDIRECT(ADRESSE(MOD(LIGNE()-3;22)+(30*ENT((LIGNE()-3)/22))+4;1;;;"Feuil1"))
On peut installer l'une ou l'autre en A3 de la feuil2 et la tirer vers le bas avec la poignée de recopie.
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h53.


 
 
 
 
Partenaires

Hébergement Web