Help

Cricri27

XLDnaute Nouveau
Bonsoir à tous,

Voila maintenant plusieurs jours que je cherche une solution à ma problématique sans y trouver de réponse.

Cela me semblait simple, mais pas tant que cela.

Je m'explique:

Chaque jour je reçois un fichier que j'appellerais fichier source qui me récapitule pleins de données de production dont certaines ne me sont pas utiles.
Je me suis donc créé un fichier de synthèse avec lequel j'aimerais (et c'est bien la le problème) ne récupérer que les infos concernant la production des machines (fichier joint que j'ai appelé fichier production pour exemple).

Seul Bémol, comme le fichier de synthèse reprend pleins d'éléments, la ligne production n'est jamais au même endroit (une fois en A4, le jour suivant en A8,...). donc le = à ne fonctionne pas.
J'ai essayer avec la formule recherche,.... mais ne trouve pas de solution à ma problématique.

En résumé je dirais que je cherche comment faire pour que dans mon fichier production je récupère les valeurs de la ligne production du fichier source et que celles ci se mettent à jour dans l'ordre des machines quelques soit la ligne dans mon fichier source car comme dis précédemment la ligne change en fonction de différents éléments.

En espérant être clair dans mon message j'y ajoute deux fichiers pour exemple et remercie par avance ceux qui voudront bien ce pencher sur mon problème.

Cricri
 

Pièces jointes

  • Fichier source.xlsx
    8.7 KB · Affichages: 32
  • Fichier Production.xlsx
    8.8 KB · Affichages: 29
  • Fichier source.xlsx
    8.7 KB · Affichages: 36
  • Fichier source.xlsx
    8.7 KB · Affichages: 30

eriiic

XLDnaute Barbatruc
Re : Help

Bonjour,

Cellule Production :
Code:
    Dim c As Range
    With Workbooks("Fichier source.xlsx")
        Set c = .[A:A].Find("Production", LookIn:=xlValues, lookat:=xlWhole)
    End With
    MsgBox c.Address
à partir de la tu peux avoir la ligne avec c.row ou faire des c.offset(,colonne)

eric
 

Regueiro

XLDnaute Impliqué
Re : Help

Bonsoir le Forum, Cricri27, Eriiiic
Avec des formules
Dans le fichier Production
En E1 = Production
Ensuite en C2

Code:
=INDEX('[fichier-source.xlsx]Feuil1'!$A:$E;EQUIV($E$1;'[fichier-source.xlsx]Feuil1'!$A:$A;0);EQUIV(A2;'[fichier-source.xlsx]Feuil1'!$1:$1;0))
A+
 

eriiic

XLDnaute Barbatruc
Re : Help

Bonjour,

désolé, j'avais oublié de mettre la feuille :
Code:
Private Sub CommandButton1_Click()
    Dim c As Range
    With Workbooks("Fichier source.xlsx").Worksheets("Feuil1")
        Set c = .[A:A].Find("Production", LookIn:=xlValues, lookat:=xlWhole)
    End With
    MsgBox c.Address
End Sub
Je ne contrôle pas que le fichier Fichier source.xlsx soit bien ouvert, plante dans ce cas sinon on peut ajouter un contrôle d'erreur. Là je m'en tiens à la demande.

eric
 

Cricri27

XLDnaute Nouveau
Re : Help

Bonjour,

J'ai beau essayer, cela ne fonctionne pas sur mon fichier... peut être fait qu'il soit sur le réseau ou alors je suis encore plus truffe que je ne le pensais.

merci à vous deux pour votre aide, je vais continuer de chercher ce qui se passe.

Cricri27
 

Regueiro

XLDnaute Impliqué
Re : Help

Bonsoir le Forum, Cricri27
Un essai avec du VBA
Ton classeur source doit être dans le même répertoire

Code:
Option Explicit
Sub Macro1()
Dim Cell As Range
Dim Classeur As Workbook
Dim Chemin As String
Dim Fichier As String
Dim WB As Worksheet
Set WB = Worksheets(1)
Chemin = ThisWorkbook.Path & "/"
Fichier = "Fichier-source.xlsx"
MsgBox Chemin
Set Classeur = GetObject(Chemin & Fichier)      'Le fichier est ouvert mais masqué
With Classeur
    For Each Cell In WB.Range("A:A").SpecialCells(xlCellTypeConstants, 23)
    Cell.Offset(, 5).ClearContents  'Colonne F
    Cell.Offset(, 5).FormulaR1C1 = "=INDEX(INDIRECT(""'[""&R1C10&""]""&R2C10&""'!$A:$E""),MATCH(R1C5,INDIRECT(""'[""&R1C10&""]""&R2C10&""'!$A:$A""),0),MATCH(RC[-5],INDIRECT(""'[""&R1C10&""]""&R2C10&""'!$1:$1""),0))"
    Cell.Offset(, 5).Value = Cell.Offset(, 5).Value

    Next Cell
      .Save
        DoEvents
    .Close
    End With
End Sub

Avec le fichier en PJ
Bonne soirée
 

Pièces jointes

  • fichier-production.xlsm
    28.7 KB · Affichages: 21

Discussions similaires

Réponses
4
Affichages
417

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87