Utilisation d'une feuille dans une formule

Résolu/Fermé
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 - Modifié le 30 mai 2020 à 11:28
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 - 4 juin 2020 à 17:35
Bonjour tous les membres du forum CCM !! Je reviens ce matin pour une autre difficulté sur Excel concernant l'utilisation d'une feuille dans la formule sous vba..

Je m'explique. Je désire utiliser une formule Excel conportant une function "EQUIV" et une function "INDEX" pour retrouver certaines données.. En effet, j'ai deux feuilles dont une première contenant un tableau avec des données et une seconde contenant aussi un tableau avec des données. Les functions "EQUIV" et "INDEX" utilisent à la fois des donées du tableau de la feuille 1 et la feuille..

Voici la formule: =SI([@Nature]="Ancien Testament";INDEX(Tableau5[Ancien Testament];EQUIV([@Livre];Tableau5[Bible];0);1);$C$2)

En Vba voici ma traduction:
Sub Bouton1_Cliquer()
Range("D5").Select
ActiveCell.FormulaR1C1 = _
"=IF(R[0]C[2]=""Ancien Testament"",INDEX(Range(Tableau5[Ancien Testament]),MATCH(R[0]C[3],Range(Tableau5[Bible]),0),1),R-9C3)"
End Sub

Mais cela ne donne rien. Comment faire pour que ça marche svp ??

Veuillez m'aider pardonnez Svp !!

Pj : https://www.cjoint.com/c/JEEjcopSni6

Merci bien !!
A voir également:

18 réponses

Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
2 juin 2020 à 17:26
Bonjour,
Votre demande:
Les prix antérieurs qui ont été enregistrés ne soient pas affectés par cette modification mais seulement les prochaines lignes.
Si je comprends juste il s'agit de la liste sous INVENTAIRE !
Vous supprimez les formules dans feuille INVANTAIRE colonne *F*
Et vous entrez le code suivant dans la macro juste après Range("D" & DL) = "Sortie"
Range("D" & DL) = "Sortie"
 '************rechercher prix du stock pour ce produit
    Set trv = Sheets("FICHE DE STOCK").Range("D6:D100").Rows.Find(what:= Range("C2"), LookAt:=xlWhole)
    Range("F" & DL) = Sheets("FICHE DE STOCK").Range("D" & trv.Row).Offset(0, 6)
 '********


1
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
4 juin 2020 à 17:35
Bonjour,
Merci de passer le poste en résolu si c'est le cas!
1
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
Modifié le 30 mai 2020 à 12:07
Bonjour,
Que voulez vous faire exactement ...quel résultat attendez-vous?
Peut-être pas besoin du VBA, simple fonction suffit?
Etrange car les infos sont les mêmes dans les 2 tableaux !!!!!

0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
30 mai 2020 à 13:47
Salut LePingou !! Un plaisir de vous relire.. En fait ma question ou préoccupation c'est comment utiliser les functions index et equiv en VBA lorsque les feuilles ne sont pas les mêmes parce je veux faire des tests pour la gestion de mon restaurant.. J'ai des informations sur différentes feuilles que je dois utiliser..

Lorsque les données à rechercher sont sur la même feuille l'utilisation de ces functions me donne le résultat voulu. Mais lorsque les données à recherhcer sont sur différentes feuilles, je n'arrive pas à utiliser ces functions..

Merci de m'aider svp..

Respectueusement !!
0

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

Posez votre question
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
30 mai 2020 à 14:40
Bonjour.
Oui est quelle est le résultat voulu?
Et quelle rapport avec la gestion du restaurant?
0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
Modifié le 30 mai 2020 à 15:07
Oui Oui !! Ok je vous mets le fichier de gestion du restaurant en Pj..

Dans la colonne prix j'aimerais que lorsque je clique sur le bouton "Actualiser", le formule dans la colonne prix du tableau se mette à jour automatiquement..

Voici:https://www.cjoint.com/c/JEEngcHpDkM

Merci bien !!

Respectueusement !!
0
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
30 mai 2020 à 16:17
Bonjour,
A force de poser des questions sera-t'il possible d'avoir une réponse correct qui donne sur quelle feuille le problème se trouve ? Actualiser se trouve sur 2 feuilles différentes...?
0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
30 mai 2020 à 16:30
Oui oui ! C'est vrai.. Le bouton "Actualiser" se trouvant sur la feuille de "Journal de caisse" ne concerne que cette feuille.. Cependant, le deuxième bouton actualiser sur la feuille "Inventaire" concerne cette feuille.. Et comme je l'ai dit un peu plus haut, je souhaiterais que quand je clique sur ce bouton "Actualiser" dans la feuille "Inventaire", la colonne prix se mette à jour..

En effet, chaque boisson se situant dans la fiche de stock à son prix qui peut de fois varier et j'aimerais qu'en cas de modification du prix (à la hausse ou à la baisse), il ne n'impacte pas les autres boissons déjà enregistrées plus haut..

Respectueusement !!
0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
30 mai 2020 à 16:42
Mon souci c'est comment faire pour intégrer dans ma formule le nom d'une feuille sur laquelle se situe les tableaux utilisés lorsque je suis en vba parce que lorsque je recopie ma formule en vba un problème se pose au niveau des tableaux de recherche car situés sur une autre feuille..

Merci !!
0
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
30 mai 2020 à 16:48
Bonjour,
Encore une fois... ou se trouve le problème, sur qu'elle feuille...?
0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
30 mai 2020 à 16:49
Le problème se trouve au niveau du bouton "Actualiser" et sur la feuille "Inventaire".
0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
30 mai 2020 à 21:18
Bonsoir LePingou !!
0
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
Modifié le 30 mai 2020 à 22:41
Bonsoir,
Si je regarde la cellule F12 je vois qu’elle contient cette formule:
 =SI([@TYPE]="Entrée";$F$3;SI([@TYPE]="Sortie";INDEX(Tableau2[PRIX DE VENTE UNITAIRE];EQUIV($C$2;Tableau2[BOISSONS];0);1);""))

Et que si je clic sur le bouton Entrée je constate que la formule est générer dans la cellule F13
Alors je ne comprends pas du tout ce que vous voulez réaliser avec le bouton Actualiser...?
Le problème que je vois est peut-être ici


Autre problème, l'action du bouton Sortie génère une faute car il supprime la fonction de la cellule "F..."

0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
31 mai 2020 à 00:56
Merci bien 0 ! Je vois.. Mais comment traduire cette formule en VBA..?

=SI([@TYPE]="Entrée";$F$3;SI([@TYPE]="Sortie";INDEX(Tableau2[PRIX DE VENTE UNITAIRE];EQUIV($C$2;Tableau2[BOISSONS];0);1);""))

Merci bien !!
0
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
Modifié le 31 mai 2020 à 10:23
Bonjour,
Je pense pas nécessaire, voir explication sur la feuille Invantaire.
Votre dossier: https://www.cjoint.com/c/JEFisBs5xi0
Pour le plaisirs votre formule en VBA:
ActiveCell.FormulaR1C1 = _
        "=IF([@TYPE]=""Entrée"",R3C6,IF([@TYPE]=""Sortie"",INDEX(Tableau2[PRIX DE VENTE UNITAIRE],MATCH(R2C3,Tableau2[BOISSONS],0),1),""""))"

0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
31 mai 2020 à 15:36
Salut Le Pingou et tous les membres du forum CCM !! Merci bien de votre réactivité Le Pingou.. C'est super.. Mais j'aimerais en plus s'il vous plait que lorsque je vais modifier le prix d'une boisson dans la Feuille "Fiche de stock", Les prix antérieurs qui ont été enregistrés ne soient pas affectés par cette modification mais seulement les prochaines lignes.. Par exemple, si j'ai une boisson dans la fiche de stock de 15 $ et que ce prix subit une hausse ou une baisse, je souhaiterais que seulement les lignes suivantes prennent en compte cette modification à la hausse ou à la baisse et que les lignes ayant déjà enregistrées 15 $ ne change pas..

Merci bien..

Respectueusement !!
0
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 1 448
31 mai 2020 à 15:56
Bonjour,
Merci du retour.
Un petit exemple manuel du résultat à obtenir sur une feuille est plus parlant que de grandes explications.
Je regarderai plus tard, fête de la Pentecôte oblige.

0
Degsher Messages postés 72 Date d'inscription mercredi 15 avril 2020 Statut Membre Dernière intervention 31 mai 2020 1
31 mai 2020 à 16:16
Merci bien Le Pingou !! Passe une excellente fête de Pentecôte !!

Respectueusement !!
0