Utilisation d'une feuille dans une formule
Résolu
Degsher
Messages postés
72
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
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 !!
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:
- Utilisation d'une feuille dans une formule
- Utilisation chromecast - Guide
- Formule si et - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Bruler une feuille de laurier - Guide
18 réponses
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"
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) '********
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 !!!!!
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 !!!!!
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 !!
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 !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 !!
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 !!
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...?
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...?
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 !!
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 !!
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 !!
Merci !!
Bonsoir,
Si je regarde la cellule F12 je vois qu’elle contient cette formule:
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..."
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..."
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 !!
=SI([@TYPE]="Entrée";$F$3;SI([@TYPE]="Sortie";INDEX(Tableau2[PRIX DE VENTE UNITAIRE];EQUIV($C$2;Tableau2[BOISSONS];0);1);""))
Merci bien !!
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:
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),""""))"
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 !!
Merci bien..
Respectueusement !!