Formule excel
Marc BORIVENT
-
patrick -
patrick -
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.
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.
A voir également:
- Formule excel
- Formule excel si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Formule somme excel ligne - Guide
- Mise en forme conditionnelle excel formule - Guide
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.
Retouner sur la feuiile d' origine, la formule est indiquée et la valeur mise dans la cellule voulue.
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
="=Feuil"&LC(-1)&"!L2C8"
cela devrait mieux fonctionner
="Feuil"&LC(-1)&"!L2C8"
toujours zen
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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
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
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
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
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
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
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
Merci quand même de vous être penché sur mon problème.
Cordialement,
Marc