Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupération donnée autres feuilles

  • Initiateur de la discussion Initiateur de la discussion poipoi
  • 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 !

poipoi

XLDnaute Impliqué
Bonjour
mon souci: pour un tableau de stock je cherche à récupérer des données calculées sur d'autres feuilles.. petit problème, je n'y arrive pas !! car je souhaite que seule la dernière ligne saisie serve au calcul de stock .
je joins le tableau car je ne suis pas clair dans mes explications
Merci à vous déjà
 

Pièces jointes

Re : Récupération donnée autres feuilles

eh bien.. je ne m'attendais pas à cela.!! MERCI Hasco, merci
quel beau travail..
et ta manière de répondre est bien... pointer les erreurs, obliger à plus d'attention, ne pas "tout faire" mais orienter..
même si je ne suis pas doué , je cherche malgré tout à comprendre et découvrir des formules..
très bonne journée à toi
 
Re : Récupération donnée autres feuilles

excuses moi Hasco je reviens vers toi car j'ai constaté un petit truc.. (à moins que je m'en serve mal)
en effet quand je crée une nouvelle fourniture tout va bien mais les stocks sont faux car ils font tous référence à $B19, quelles que soit les lignes ajoutées
as tu une idée?
 
Re : Récupération donnée autres feuilles

Re,

Voici la correction a apporter, en rouge dans les lignes suivantes:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Union(Target, Range("FOURNITURES")).Address = Range("FOURNITURES").Address And Target.Count = 1 And Not IsEmpty(Target) Then
        'Vérifier si la feuille existe
        Dim sh As Worksheet
        Set sh = GetSheetByName(Target.Text)
        
        'Si elle n'existe pas demander s'il faut la créer
        If sh Is Nothing Then
            If MsgBox("La feuille '" & Target.Text & "' n'existe pas." & vbCrLf & _
                        "Voulez-vous la créer?", vbQuestion + vbYesNo, "Création feuille") = vbYes Then
                
               Sheets("Modele").Copy After:=Target.Parent
               With ActiveSheet
                    .Visible = True
                    .Name = Target
                    .Range("B4") = Target
                End With
            End If
            
            'Après la création réactiver cette feuille ('Tableau stocks') puis mettre les formules
          [COLOR=red]  On Error Resume Next
            Application.EnableEvents = False
            With Target
                .Parent.Activate
                .Offset(, 1).Formula = "=INDEX(INDIRECT(""'"" & " & Target.Address(False, True) & " & ""'!$C$9:$K$44""),MATCH(9^9,Dates,1),1)"
                .Offset(, 2).Formula = "=INDEX(INDIRECT(""'"" & " & Target.Address(False, True) & " & ""'!$C$9:$K$44""),MATCH(9^9,Dates,1),8)"
                .Offset(, 3).Formula = "=INDEX(INDIRECT(""'"" & " & Target.Address(False, True) & " & ""'!$C$9:$K$44""),MATCH(9^9,Dates,1),9)"
            End With
            Application.EnableEvents = True
            On Error GoTo 0
[/COLOR]            
            'Ajouter l'hyperlien dans la feuille Accueil
            Dim c As Range
            With Sheets("Accueil")
                Set c = .Range("C" & .Rows.Count).End(xlUp)(2)
                c = Target.Text
                .Hyperlinks.Add Anchor:=c, Address:="", SubAddress:="'" & Target.Text & "'" & "!A1", TextToDisplay:=Target.Text
            End With
        End If
    End If
End Sub

A+
 
Re : Récupération donnée autres feuilles

bon, ce coup ci tu vas te dire que je suis pénible.. (et peut être as tu raison)
si je veux repartir d'un formulaire vierge c'est à dire sans feuille et en effaçant les données dans tableau stocks, mais en gardant bien évidemment la feuille modèle, j'ai un message d'erreur #REF! dans les 3 colonnes.
une autre idée?
 
Re : Récupération donnée autres feuilles

Re,

Adapter les formules en conséquence Exemple pour C9

Code:
=SI(ESTVIDE($B9);"";INDEX(INDIRECT("'"&$B9&"'!$C$9:$K$44");EQUIV(9^9;Dates;1);1))
Ce qui donne pour la macro:

Code:
            With Target
                .Parent.Activate
                .Offset(, 1).Formula = "=IF(ISBLANK($B" & Target.Row & "),"""",INDEX(INDIRECT(""'"" & " & Target.Address(False, True) & " & ""'!$C$9:$K$44""),MATCH(9^9,Dates,1),1))"
                .Offset(, 2).Formula = "=IF(ISBLANK($B" & Target.Row & "),"""",INDEX(INDIRECT(""'"" & " & Target.Address(False, True) & " & ""'!$C$9:$K$44""),MATCH(9^9,Dates,1),8))"
                .Offset(, 3).Formula = "=IF(ISBLANK($B" & Target.Row & "),"""",INDEX(INDIRECT(""'"" & " & Target.Address(False, True) & " & ""'!$C$9:$K$44""),MATCH(9^9,Dates,1),9))"
            End With

Exploite un peu les formules et l'aide en ligne, car s'il faut être là pour le moindre changement. Se sera sans moi. Ou pense les choses avant.

A+
 
Re : Récupération donnée autres feuilles

re Hasco
encore merci pour ce que tu as fais pour moi,
Je crois qu'un projet est évolutif et les possibiltés qu'offre Excel sont telles, quand on ne les connait pas, que voir d'emblée ce à quoi peu ressembler un tableau récapitulatif relève pour moi d'une projection qui ne m'est pas forcément familière.. la maîtrise du langage utilisé par Excel aussi..
Je souhaiterai pourtant avoir les moyens de pouvoir me dépatouiller seul, mais à chacun ses domaines de compétences et les miennes sont moindres avec les tableurs c'est la raison de ma présence sur ce forum... même si par ailleurs j'essaie de bien faire avant de poster.
Sur ce bonne journée à toi et qui sait, j'espère qu'un jour je pourrai te rendre à mon tour service .
 
- 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

Discussions similaires

Réponses
5
Affichages
551
Réponses
17
Affichages
957
Réponses
5
Affichages
542
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…