Fusionner des tableaux excel

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 5 août 2015, 08:18

Bonjour à tous,

Alors voilà, auriez-vous une idée sur ce que je vais vous demander ?

Toujours sur mon application, on a un PC qui contient toute la base de donnée (excel), ensuite on à 2 tablettes terrain, les applications sont identique, je voudrais savoir comment peut on faire pour que le soir, lorsque les intervenants ont fait leur taf, pouvoir importer dans notre pc bureau ce qu'ils ont fait sans rien écraser mais compléter (fusion) leur donnée. un peu comme un serveur et un client.

On aurait donc InspectionAcrage-TAB-A, InspectionAncrage-TA-B et le pc bureau qui serait InspectionAncrage, un bouton pour faire l'aquisition de leur boulot demandant les fichier à prendre.

J’espère que j'ai bien expliquer ce que je souhaiterais et vous remercie par avance pour me guider dans cette démarche

A bientôt,

Chris
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 6 août 2015, 14:52

Bonjour à tous,

Je reviens sur mon poste car évidemment, il n'a pas l'air très clair... je vais tacher de faire mieux.

Au bureau, j'ai mon tableau "BDD" qui regroupe toutes les inspections à réaliser

Chaque équipes réalisant le travail sur tablettes, doivent, le soir, mettre leur "BDD" sur une clé (ce qui nous fait 3 BDD a regrouper en une. Car chaque équipe n'as pas fait les même inspection.

Pour cela on fait des copier/coller et on y passe des heures incroyable.

Donc mon but serait d'avoir une "BDD" principale qui s'appelerait "InspectionAncrages", puis les tablettes seraient IA-TAB-A, IA-TAB-B, IA-TAB-C

Ensuite pouvoir avoir une macro sur un bouton qui me permettrait de compléter la BDD bureau avec les fichiers des tablettes (une sorte de mise a jour si vous voyez ce que je veux dire.

J'ai chercher sur le net mais c'est assez confu pour moi.

Je vous remercie par avance

Chris
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Avatar du membre
SoumZoum
Membre fidèle
Membre fidèle
Messages : 349
Inscrit le : 18 novembre 2014
Version d'Excel : Excel 2010 FR

Message par SoumZoum » 8 août 2015, 03:50

Hello,

Joins-nous un le fichier source et le fichier de destination (anonymisés) pour qu'on puisse voir ça :mrgreen:
Cordialement,

Toto l'asticot :D
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 8 août 2015, 15:12

Hello ;)


Merci de ta reponse, les fichier sont trop gros a cause des macros, y aurait il une autre solution ?


Merci pour ton aide

Chris
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 9 août 2015, 18:11

Salut SoumZoum,

Donc j'ai reussi à reduire la taille des fichiers tablette ainsi que le fichier bureau, merci de ton aide ainsi que le forum.

Bonne fin de we à tous

Chris
Inspection Ancrage.xlsm
(230.32 Kio) Téléchargé 24 fois
IA-tab_B.xlsm
(180.02 Kio) Téléchargé 18 fois
IA-tab_A.xlsm
(229.02 Kio) Téléchargé 18 fois
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 12 août 2015, 14:20

Bonjour tout le monde,

Juste un petit up sur ce post pour la fusion ;)

Merci et bonne journée

Chris
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Avatar du membre
SoumZoum
Membre fidèle
Membre fidèle
Messages : 349
Inscrit le : 18 novembre 2014
Version d'Excel : Excel 2010 FR

Message par SoumZoum » 12 août 2015, 14:33

Ouhla, j'avais perdu le thread de vue. Je me penche dessus ce soir ::D
Cordialement,

Toto l'asticot :D
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 12 août 2015, 14:58

Salut SoumZoum ,

Ok, ça marche, merci pour ton aide...

Bonne soirée et bon courage

Chris
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Avatar du membre
SoumZoum
Membre fidèle
Membre fidèle
Messages : 349
Inscrit le : 18 novembre 2014
Version d'Excel : Excel 2010 FR

Message par SoumZoum » 12 août 2015, 17:22

Alors alors
Option Explicit

Sub aa()

Dim Wb(2) As Workbook
Dim F(2) As Worksheet
Dim Plage As Range
Dim lC As Integer, lR As Integer, Result As Integer, K As Integer, J As Integer, n As Integer
Dim oRng As Variant
Dim wbi(2) As String

Set F(0) = ActiveSheet

wbi(1) = "C:\Users\Thomas\Downloads\IA-tab_A.xlsm"
wbi(2) = "C:\Users\Thomas\Downloads\IA-tab_B.xlsm"

For n = 1 To 2
Set Wb(n) = Workbooks.Open(wbi(n))
Set F(n) = Wb(n).Sheets("BDD")

lR = Range("A65536").End(xlUp).Row
lC = Range("DZ2").End(xlToLeft).Column

oRng = Range(Cells(1, 1), Cells(lR, lC)).Value
F(0).Activate
Set Plage = Range(Cells(1, 1), Cells(lR, lC))

    For K = 1 To UBound(oRng, 1)
        For J = 10 To UBound(oRng, 2)
            If CStr(Plage(K, J)) <> CStr(oRng(K, J)) Then
                If Plage(K, J) <> "" Then
                    Plage(K, J).Activate
                    Result = MsgBox("La cellule de destination " & Plage(K, J).Address & " n'est pas vide." & vbCrLf & "Cliquez sur ""OK"" pour écraser la cellule de destination" & vbCrLf & "Cliquez sur ""Annuler"" pour ignorer la ligne", vbOKCancel, "Conflit")
                    
                    Select Case Result
                        Case Is = 2
                            MsgBox "La ligne a été ignorée"
                            GoTo Next_K
                        Case Is = 1
                            MsgBox "La ligne va bien être écrasée"
                            GoTo Overwrite
                        End Select
                    Else
Overwrite:            Plage(K, J).Value = oRng(K, J)
                End If
            End If
        Next
Next_K: Next K

Wb(n).Close False
Next n
End Sub
C'est un premier jet.

Quelques questions :
1) une fois l'importation faite, les données sources sont-elles supprimées ? Doivent-elles l'être ?
2) En cas de conflit, tu veux une option par défaut ? Overwrite - ignorer ?
3) Y'a-t-il une infime possibilité que deux techniciens remplissent les mêmes lignes ?

Voila voila. Juste à régler ces petits soucis et j'pense qu'on devrait être pas trop mals.


Penser à faire un back-up avant de tester le code (au cas où)

EDIT : D'accord, en fait c'est simplement un problème de cohérence et de standardisation. 9 et 009, 8 et 008, etc...
C'est une erreur ou deux refs différentes ?
Cordialement,

Toto l'asticot :D
Avatar du membre
cco86260
Membre habitué
Membre habitué
Messages : 126
Inscrit le : 11 avril 2013
Version d'Excel : 2010FR

Message par cco86260 » 15 août 2015, 16:57

Salut SoumZoum,

Je suis sur le point de tester le code que tu m'as fais, mais je vais répondre a tes questions :

1) une fois l'importation faite, les données sources sont-elles supprimées ? Doivent-elles l'être ?

Non on garde les données source au cas ou... on ne sait jamais

2) En cas de conflit, tu veux une option par défaut ? Overwrite - ignorer ?

Si on a possibilité d'avoir une vue de ce qui est en conflit (genre listbox multicolonne), alors oui je veux bien, ça peut être utile.

3) Y'a-t-il une infime possibilité que deux techniciens remplissent les mêmes lignes ?

Théoriquement non, il partent chacun avec des OI différents, cependant certains défauts peuvent être revisité, ce qui est le cas si on fait des constats. Je cherche d'ailleurs une solution pour qu'on puisse avoir une trace de la revisite.

Voilà, en attendant je vais tester ton code pour la fusion, crois tu que par la suite je puisse passer par un USF avec treeview ou listbox, qui m'affiche le contenu du dossier contenant les fichiers tablettes, puis suivant la sélection, la l'import se fait ?

Merci pour ton aide, je te souhaite une bon we,

Chris
Les autres disent qu'une question n'est jamais c.. , moi je dis tout dépend comment elle est posée.

N'hésitez pas à me reprendre quand je m'éloigne... ;)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message