formule qui appelle une cellule avec Variable

  • Initiateur de la discussion Initiateur de la discussion Nobed
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Nobed

Guest
Bonsoir,

Est il possible d'affecter une cellule par variable.
Exemple
Cellule B1 =si(D1;E1=100;0)
je veux remplacer E1 par une variable
ou par la valeur de la cellules A1.

Si dans A1 j'ai 1

Comment écrire une formule qui accepte cela.

Cellule B1 =si(D1;color=#FF0000]'E'+'A1'[/color]=100;0)

Merci
 
Bonjour,

sans bien comprendre le sens de ta formule en B1, je dirai qu'il faut écrire ta formule conditionnelle en E1 pour que E1 soit affectée par une variable ou par A1 selon le contenu de D1.
exemple : E1=si(D1;100;A1) en supposant que D1 soit une valeur genre vrai/faux ou 0/1

sinon, si tu veux que E1 et A1 soient affectées selon le contenu de D1, tu mets 2 formules :
E1=si(D1;100;0)
A1=si(D1;100;1)

sachant que 100, 0 et 1 peuvent provenir d'autres cellules pour assouplir ton modèle.

cordialement
 
Bonjour,

Merci ODVJ, mais je me suis vraiment mal expliqué.

Je veux être capable d'utiliser le résultat de A1 (qui est 1) ce qui représente la ligne ou je peux placer ma réponse.

SI je sais que ma colonne est E, donc avec E et 1, j'ai ma cellule E1, mais comment interpréter cela dans une formule

B1 =si(D1;E1=100;0), je veux remplacer E1 par la lettre E et mon résultat de A1 qui est 1, donc E1

Dans une formule ça donnerais B1 =si(D1;'E'+Valeur(A1)=100;0)
c'est que je veux atteindre la cellule E1 avec 'E'+Valeur(A1).
Mais comment interpréter cela dans une formule?

Merci.
 
Bonjour,

une partie de réponse déjà :
si tu veux obtenir le contenu d'une cellule dont tu construis la référence, utilise la fonction indirect().
exemple : si A1 contient 3 et E3 contient 12, INDIRECT('E'&A1) donnera 12.

2ème élément de réponse : si tu veux que la cellule 'E'&A1 (ie E3 dans l'exemple) se charge de la valeur 100 si D1 est VRAI, tu peux écrire dans chaque cellule de la colonne E:E la formule =SI(D1;SI(LIGNE()=$A$1;100;0);0)

A+
 
Bonjour,
Voici mon problème,

J'ai deux feuilles, une qui est mes Entrées et la seconde qui est Clients (automatisée par ma feuille Factures)
Ma feuille Factures remplie automatiquement ma feuille Clients, lorsque je fais ma factures.
Dès la réception d'un chèque je dois entrer la date Colonne O dans la feuille Clients
Après cela je dois me rendre à la feuille Entrées et rechercher la ligne qui se rapproche à la date de réception
du chèque et y entrer les montants.

Mais la colonne R de la page Clients est activé en entrant une date de réception à la colonne O
Ainsi je voudrais me servir de cette information pour placer automatiquement les montants
dans les cellules appropriées dans la feuille Entrées.

Montants, Hotel, Avion, Taxi, Manger, Autres de la feuille Clients doivent se retrouver dans la feuille Entrées après que j'ai reçu le chèque et à la bonne ligne.

Peut être une formule dans la cellule S5 de la feuille Clients du genre Cells(Entrées!Ligne, Entrées!Colonne) = F5 et ainsi de suite.


Avez-vous une formule pour moi?

Merci. [file name=Exemple_20060323194008.zip size=17163]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_20060323194008.zip[/file]
 

Pièces jointes

Bonsoir,

voilà une solution à base de formules matricielles et d'indirection.
j'ai nommé les zones clients pour plus de clarté.
par contre je n'ai pas été trés large dans les dimensions des zones.

j'ai joué un peu avec le modèle pour vérifier son comportement. ça semble pas mal.

ce que j'ai modifié est en rouge (généralement).

les formules sont sur fond jaune.

A+ [file name=XLD_nobed.zip size=30083]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/XLD_nobed.zip[/file]
 

Pièces jointes

Oui monsieur ODVJ,

Je suis vraiment impressionné de voir tout ce que vous avez fait pour solutionner mon problème.

Vraiment je vous suis redevant. Je ne sais pas combien d'heures que vous avez passé sur cette solution.

Jamais, j'aurais trouvé sans votre aide.

Un GROS MERCI ODVJ.

Je vais faire des essaies maintenant.

Moi de Montréal/Québec/Canada, je vais parler de votre site à mon entourage.

Encore Merci et Merci.
Nobed
 
Bonsoir,

C'est super, ça fonctionne très bien.

J'ai modifier la colonne O5 en y ajoutant une validation car si j'entrais une date inférieure à la première valeur de la plage ça causait des problèmes.

Comme vous me dites, j'ai un problèmes avec les colonnes 'Autres', c'est qu'une est pour les autres dépenses et l'autre pour autres clients. J'ai corrigé ce problème en déplaçant juste avant 'Montant' et en renommant la première colonne 'Autres' sur la feuille 'Entrées' par 'Clients'

Maintenant j'aimerais savoir comment je dois faire pour modifier une formule que vous avez entré sur la feuille 'Entrées', j'aimerais y changer quelques lignes.
{=SOMME(SI(LIGNE()-4=LigneDest;INDIRECT(C$3);0))}
exemple:
j'aimerais sous la colonne 'Clients' sur feuille 'Entrées' avoir le nom du client qui serait entré dans la feuille 'Clients', si possible car la formule présentement ne fait qu'une somme donc n'affiche rien.

Si je me place sur la cellule et que j'essaie de changer quelque chose ça ne fonctionne pas.

Merci.
 
Bonjour Nobed,

si tu veux rapatrier le nom du client dans la colonne clients de l'onglet entrées (ex 1ère colonne autres) tu mets la formule suivante : =SI(ESTNA(EQUIV(LIGNE()-4;LigneDest;FAUX));'';INDEX(INDIRECT(D$3);EQUIV(LIGNE()-4;LigneDest;FAUX);1))

A+
 
Bonsoir,

Merci bien ODVJ,

J'ai remplacé la colonne Clients dans lafeuille Entrée par ceci
=SI(ESTNA(EQUIV(LIGNE()-4;LigneDest;FAUX));'';INDEX(INDIRECT(C$3);EQUIV(LIGNE()-4;LigneDest;FAUX); 1))

J'ai remplacé D3 par C3 et ça fonctionne très.

Merci et bonne soirée.

Nobed
 
Autre chose,

Qu'est que c'est les braquettes au début et à la fin de la formule, si je veux modifier une formule, Excel enlève ces braquettes et la formule ne fonctionne plus.

{=SOMME(SI(LIGNE()-4=LigneDest;INDIRECT(D$3);0))}

Merci
 
Bonsoir,

les accolades en début et en fin de formule sont le signe d'une formule matricielle.

pour les obtenir, il faut faire CTRL+ALT+ENTER lors de la validation de la formule.

C'est vrai que sans ça , ça ne fonctionne pas.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
219
Retour