Comment récupérer des données d'une autre feuille ?

Bonjour à tous,

Je cherche à récupérer des données sur une feuille de calcul Excel pour faire un tableau de synthèse très simple.

La feuille en question provient d'un autre classeur1.J'utilise le déplacer/copier pour copier ma feuille du classeur 1 vers le classeur 2.

Nom de la feuille copiée : Agence

une fois que j'ai ma feuille (Agence) sur le classeur 2 j'utilise la formule adéquate : ='Agence'!A1 pour récupérer mes données de la case A1 sur Agence.

Jusqu'ici tout ce passe bien.

Par contre je souhaite pou voir faire la mise à jour de ma feuille de synthèse changeant ma feuille agence par une feuille Agence mise à jour.

Du coup à la place de mon résultat sur ma feuille de synthèse j'obtient un #REF!

Donc je suis à la recherche d'une solution afin que je puisse mettre à jour mon tableau de synthèse par le Déplacer/copier de feuille Agence.

Bonjour

En joignant ton fichier, ce serait plus facile.

Regarde joindre un fichier, en haut de cette page.

Cordialement

Bonjour,

Ta formule ne contient pas le nom du classeur 1.

Si celui-ci se nomme bien Classeur1, essaie ceci :

=[Classeur1.xls]Agence!A1

Plus simple : ouvrir les deux classeurs, menu Fenêtre / Réorganiser / Horizontal.

Activer la cellule A1 du classeur2 et y taper le signe =

Activer la cellule A1 du classeur1

La bonne formule se mettra automatiquement en place.

dré

Voila je vous ai joint comme proposé ci dessus le fichier excel.

https://www.excel-pratique.com/~files/doc/ET20XX_Y_Suivi_des_sinistres_Region.xls

les feuilles Agence 1 et Agence 2 proviennent (dans son utilisation finale) de deux classeurs respectivement différents du document joint, et seront amené à être remplacer par Agence 1 et 2 nouvellement renseigné chaque mois.

J'espère avoir été assez clair dans mes explications.

Je vous remercie de l'attention que vous portez à mon problème,

Cordialement

En effet la solution apporter par Dré est plus simple mais mes responsables souhaites une indépendance des différents classeurs.

Ce document vise à être diffusé et les personnes l'utilisant connaissent la fonction déplacer/copier des feuilles.

C'est pour cela que je cherche à passer par la.

Remarque : Il m'est possible d'utiliser des macros.

Re,

Excuse-moi, mais je ne comprends pas.

Actuellement les formules fonctionnent puisque Agence 1 et Agence 2 sont des feuilles du même classeur.

Agence 3 ne fonctionne pas puisque cette feuille est inexistante, mais cela ne pose pas problème, il y a des solutions.

Si les deux feuilles se trouvent dans d'autres classeurs il faut spécifier le nom de ces classeurs dans tes formules, comme je te l'ai indiqué : entre [].

dré

Bonjour

Donc je suis à la recherche d'une solution afin que je puisse mettre à jour mon tableau de synthèse par le Déplacer/copier de feuille Agence.

Aucun intérêt. Les indications de dre te permettent d'avoir une mise à jour automatique de ta synthése sans avoir à copier-déplacer les feuilles agence.

Pourquoi vouloir faire autrement?

Cordialement

Ce modèle fonctionne t'il pour une localisation précise du classeur?

Le classeur en question risque de changer de nomenclature avec l'avancement des mois c'est pourquoi les seules données stables que j'ai, reste le nom de la feuille (Agence 1)

Dans l'absolu je recherche une formule qui permet de garder la formule ='Agence 1'!A1 fixe pour qu'au moment du changement de la feuille Agence 1 les nouvelles données soient reportées

Re, re Amadeus,

Je crois petit à petit commencer à comprendre la question.

Les feuilles Agence 1 et Agence 2 sont des dénominations immuables, mais le nom du classeur dans lesquelles elles se trouvent peut changer.

Est-ce cela ?

dré

Pourquoi vouloir faire autrement?

La solution de Dre et pratique il est vrai mais il y a en gros 50 agences à gérer et que ca rique de prendre pas mal de temps avec un activer cellule = activer cellule

Oui tout à fait leur nom de changerons pas

En fait je cherche juste une formule "stable" pour avoir l'équivalent de la formule ='Agence 1'!A1 afin qu'il retrouve l'information souhaité lorsqu'on passe de la feuille Agence 1 à Agence 1 actualiser

Re,

Agence 1 et Agence 1 "actialisée" sont-ce la même feuille ou des feuilles différentes, sont-elles dans le même classeur ou dans des classeurs différents ?

dré

Agence 1 et Agence 1 "actualisé" sont exactement les mêmes feuilles avec le même nom Agence 1 et la même forme. Seul change les données internes du tableau.

C'est pourquoi je cherche à avoir une formule "stable" qui récupère les données souhaitée sur la feuille agence 1 et cela même si je change la feuille agence 1 par agence 1 actualisé

Etant donné que c'est pour faire une suivi mensuel le nom du classeur changera de nomenclature.

La procédure que je t'ai signalée sous mes messages précédents répond à ta question.

dré

Je vous remercie de votre patience, vous avez répondu à mes attentes

106dataimport.xlsm (166.76 Ko)

Bonsoir,

A tout hasard je joins un fichier que qui permet d'importer tout ou partie des données d'un fichier, en se basant sur les valeur de cellule en tête de colonnes.

Aller voir la Sub CopyData pour les copies de feuilles complètes et les fonctions GetColumn ou GetColumns pour naviguer a travers les colonnes pour les imports partiels ou simplement si la position de la colonne désirée n'est pas connue...

Bonne nuit!

Private Sub CopyData(ByVal sFileFound As Variant) '(ByVal sFileFound As String)
Dim i As Long, j As Long, k As Long, i1 As Long, i2 As Long, n As Long
Dim TheRange As Range, TheCell As Range
Dim TheSearch As Object
Dim s As String
Dim oExcel As Excel.Application
Dim oWB(1 To 2) As Workbook '1: source, 2:destination
Dim oWS(1 To 2) As Worksheet '1: source, 2:destination
Dim WS As Worksheet
    'Initialization
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlManual

    'Importing sequentially in the sheet names with same names (much smoother and easier)
    n = UBound(sFileFound, 1) '+1
    For i = 1 To n
        Set oWB(2) = ActiveWorkbook
        Set oExcel = New Excel.Application
        oExcel.Visible = False: oExcel.DisplayAlerts = False
        Set oWB(1) = oExcel.Workbooks.Open(CStr(sFileFound(i)), UpdateLinks:=False, ReadOnly:=True)
        For Each WS In oWB(1).Worksheets
            s = WS.Name
            Set oWS(1) = oWB(1).Sheets(s) 'The raw data file from Outlook
'            If s = "Report 1" Then s = DBDERIV.Name
'            If s = "DATA" And oWB(1).Sheets.Count = 1 Then s = XRATES.Name
            Set oWS(2) = oWB(2).Sheets(s) 'Same sheet name in the activeworkbook
            oWS(2).Cells.ClearContents
            'Copy the data
            j = oWS(1).UsedRange.Columns.Count
            k = oWS(1).UsedRange.Rows.Count
            i1 = 1: i2 = 1
            For k = 1 To oWS(1).UsedRange.Rows.Count
                If k Mod 10 = 0 Then 'Copy by bulk of 10 rows to avoid a memory error
                    i2 = k
                    oWS(2).Range(oWS(2).Cells(i1, 1), oWS(2).Cells(i2, j)).Value = oWS(1).Range(oWS(1).Cells(i1, 1), oWS(1).Cells(i2, j)).Value
                    i1 = k + 1: i2 = k + 1
                End If
            Next k
            If k >= i1 Then 'If there is at least one row to copy
                i2 = k 'Copy the remaining rows
                oWS(2).Range(oWS(2).Cells(i1, 1), oWS(2).Cells(i2, j)).Value = oWS(1).Range(oWS(1).Cells(i1, 1), oWS(1).Cells(i2, j)).Value
            End If
        Next WS
        'Close all Excel instances and object memory allocations
        oWB(1).Close savechanges:=False
        Set oExcel = Nothing
        For j = 1 To 2
            Set oWB(j) = Nothing
            Set oWS(j) = Nothing
        Next j
    Next i

    'Finished
    Application.Calculation = xlAutomatic
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
Rechercher des sujets similaires à "comment recuperer donnees feuille"