Formule excel

Fermé
Marc BORIVENT - 6 nov. 2004 à 22:20
 patrick - 7 févr. 2005 à 05:35
Bonjour,
J'ai un petit problème tout simple, dans excel, que je n'arrive pas à résoudre : une formule générée automatiquement à l'aide du caractère de concaténation "&" reste à l'état de formule, et ne se traduit pas par la valeur correspondante.
Exemple : il s'agit de la formule :
="=Feuil"&LC(-1)&"!L2C8" qui donne =Feuil3!L2C8
Mais cette formule reste à l'état de texte, et ne donne pas la valeur de la cellule L2C8 de l'onglet "Feuil3"
Comment faire?
Merci d'avance à celui qui pourra m'aider.
Cordialement,
Marc.

11 réponses

Sur la feuille et dans la cellule qui doit recevoir la valeur, taper =, cliquer sur la feuille et la cellule qui contient les données et faire Entrée.
Retouner sur la feuiile d' origine, la formule est indiquée et la valeur mise dans la cellule voulue.
0
Marc Borivent
7 nov. 2004 à 20:17
Merci beaucoup, André, mais cette réponse est un peu trop simple. J'ai en effet quelques centaines de formules à générer (si possible automatiquement) à l'aide de ma formule, et je veux justement éviter de les taper une à une à la main.
Merci quand même de vous être penché sur mon problème.

Cordialement,
Marc
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
7 nov. 2004 à 08:50
je pense que'il y a un "=" de trop dans la formule :

="=Feuil"&LC(-1)&"!L2C8"

cela devrait mieux fonctionner
="Feuil"&LC(-1)&"!L2C8"

toujours zen
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
7 nov. 2004 à 17:06
Bonjour gbinforme,
Je suis sur le problème.
Si j'écris votre formule dans une cellule:
="Feuil"&LC(-1)&"!L2C8" j'obtiens >> Feuil!L2C8
mais pas la valeur de cette référence.
Je cherche toujours....

Salutations
Jean-Pierre
0
Merci pour la réponse, mais cela ne marche pas!
(J'ai quelques centaines de formule analogues à taper, si je n'arrive pas à les générer automatiquement)
Cordialement,
Marc
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
7 nov. 2004 à 21:49
Bonsoir Marc,
J'ai lu votre réponse au poste (4), pouvez-vous donner un peu plus de détail sur votre problème ......
Je pense à une solution par macro vba, mais je n'ai pas assez de détail pour vous aidez..

Salutations
Jean-Pierre
0
Voici les détails :
Dans un classeur excel comprenant de très nombreuses feuilles, je voudrais aller chercher un résultat dans chaque feuille, faisant référence à la même cellule (par ex. : L2C8) et inscrire les résultats dans la 1ère feuille, récapitulative.
Ceci, sans écrire une à une, les formules de type :
=Feuil2!L2C8, =Feuil3!L2C8, =Feuil4!L2C8 ...
J'aurais voulu générer ces formules grâce à la concaténation, en utilisant par exemple la formule suivante :
="=Feuil"&LC(-1)&"!L2C8"
où LC(-1) représente les n°des feuilles successives :2, 3, 4 ...

Cela fonctionne, mais malheureusement, les formules restent à l'état de formules et ne sont pas remplacées par la valeur des différentes cellules L2C8. J'ignore pourquoi.
Par ailleurs, alors que je me débrouillais très bien avec les macros d'Excel4 (1997)( en français), je ne suis pas très familiarisé avec VB (dont la syntaxe est en anglais), et je préfère l'usage des formules lorsque cela est possible.
Merci d'avance pour votre aide.
Cordialement,
Marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
7 nov. 2004 à 23:35
Bonsoir Marc,
Merci pour les détails, c'est parfait pour moi.
Pour ce soir je vai mettre mes puces en pause et la suite c'est pour demain..

Salutations
Jean-Pierre
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
8 nov. 2004 à 09:21
l'idée de la formule est très judicieuse mais elle ne peut pas fonctionner
car si tu fait une concatenation tu n'obtient que le texte.
Pour obtenir le résultat il faut passer par VB.

par exemple, pour obtenir :
- sur la ligne 3 (référence a3) de la feuil1
- depuis la colonne A jusqu'à la colonne maxi des feuilles
- la valeur de la cellule A3 de chacune des autres feuilles
il suffit d'écrire ceci :

Public i As Integer
Public Sub test()
For i = 2 To Worksheets.Count
Range("a3").Offset(0, i - 2).FormulaR1C1 = "=Feuil" & i & "!R3C1"
Next i
End Sub

si tu veux compliquer un peu le paramètrage
pour gérer l'ensemble du récapitulatif
je peux t'aider en répondant à tes questions.


toujours zen
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
8 nov. 2004 à 11:34
Bonjour Marc,
Je souscris entièrement à la réponse de gbinforme.
Ma proposition serait identique, donc je considère le problème
solutionné.
Bonne semaine.

Salutations
Jean-Pierre
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
8 nov. 2004 à 16:50
Bonjour Marc,
J’ai trouvé une petite astuce qui permet de résoudre votre problème sans passer par une macro.
Essayer de procéder comme suit :
-Générer votre formule selon votre méthode : ="=Feuil"&LC(-1)&"!L2C8"
-Vous obtiendrez donc : =Feuil2!L2C8, =Feuil3!L2C8, =Feuil4!L2C8 ..., sous forme de colonne ou de ligne c’est selon..
-Vous sélectionnez ces cellules et faite Copier, Collage spéciale (sur place), vous choisissez Coller valeurs, puis OK.
Maintenant la petite astuce.
-La plage est toujours sélectionnée, dans la barre des formules vous placez le curseur directement à la fin de la formule et vous faites ENTER, la sélection passe à la cellule suivant, vous répétez l’opération autant de fois que nécessaire.
De cette manière, vos formules sont actives…..
J’ai testé, sa marche super.
Bonne chance.


Salutations
Jean-Pierre
0
Merci beaucoup à tous pour vous être penchés sur mon problème.
Vous êtes tous très sympa!

A force de cogiter, j'ai finalement trouvé la solution :
=INDIRECT("Feuil"&LC(-1)&"!L2C8";)

Cette formule remplace le texte d' une formule par la valeur correspondante.
Attention, il faut que l'option d'affichage soit de type L1C1 (outils/options/onglet général : X L1C1), et non de type A1, sinon la formule est légèrement différente.

Merci encore.
Marc
0
purrofixe Messages postés 490 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 12 septembre 2007 94
8 nov. 2004 à 21:25
Bonsoir Marc,
Je suis content que vous avez trouvé la solution.
Merci infiniment pour l'information.
Bonne semaine.

Salutations
Jean-Pierre
0
bonjour a tous

pourriez vous me dire si dans excel si je peut effectuer un enregistrement automatique avec le contenu d'une certe cellule

ex dans word c'est le premier mot en haut a gauche qui est proposè pour l'enregistrement .

merci a tous
0