Comment synchroniser deux fichiers entre eux
PHILOU10120 Messages postés 6463 Date d'inscription Statut Contributeur Dernière intervention -
Je souhaiterais faire en sorte que quand j'effectue des modifications dans un premier fichier alors ces dernières apparaissent dans un second fchier dont les 3 premières colonnes sont identiques à partir de la ligne 7 (volet figé avant pour l'en-tête de mon tableau).
J'ai déjà essayé le collage avec liaison ou même quelques essais sur VBA.
Mon problème est le suivant: Il arrive régulièrement que des lignes soient ajoutés au premier tableau et je voudrais par conséquent qu'elle s'ajoute automatiquement à mon second.
Faut-il cocher quelque chose en particulier dans le collage spécial ou alors un code pour VBA?
Merci d'avance :)
8 réponses
Le problème consiste à faire apparaître automatiquement dans un second fichier Excel les modifications du premier lorsque des lignes s’ajoutent et que les trois colonnes restent identiques à partir de la ligne 7. Des solutions évoquées incluent le collage avec liaison et des essais sur VBA, mais les échanges privilégient une approche basée sur des formules dans le classeur destination reliant les cellules au fichier source. Des exemples concrets proposent d’utiliser une formule SI dans le classeur 2 qui lit les valeurs du classeur 1 et s’étend sur le nombre de lignes que l’original, avec adaptation des noms. D’autres échanges portent sur l’accès aux fichiers et l’échange de liens pour tester les méthodes, sans consensus clair sur une solution universelle.
-
Bonjour
Vous pouvez utiliser la formule suivante dans le classeur 2 en colonne A, B, C.
exemple colonne A
=SI([Classeur1]Feuil1!$A$8<>"";[Classeur1]Feuil1!$A$8;"")
Penser à changer les noms des classeurs et tirer la formule sur le même nombre de ligne que le classeur 1, le classeur source
-
Bonjour,
J'ai fait un exemple de classeur que je voudrais mettre à jour.
http://www.cjoint.com/data/0BclyLu04JE.htm
En fait la première colonne à partir de A7 il y a des cellules fusionnées.
Le fichier source a exactement la même mise en forme (j'ai fait exprès pensant que ça faciliterait les démarches). Quand je teste la formule De Philou du post1 alors ça me met #Nom dans la colonne A.
Existe t-il une solution à ^mon problème? :)-
-
-
-
-
http://www.cjoint.com/data/0Bcn4Tyq4ZH.htm
Voici le lien ci-joint avec l'exemple.
Je ne vous met pas deux fichiers car les deux ont vraiment une structure identique ce sont juste les paramètres qui changent derrière.
Je ré-explique ma requête afin de repartir du bon pied et que j'essai de bien me faire comprendre :)
Du coup, j'aimerai que dans mon fichier cible on retrouve exactement les mêmes informations que dans mon fichier source pour les 3 premières colonnes (qui une fois rentrées ne bougent plus). Le truc est donc que dans mon fichier source des nouvelles lignes sont régulièrement ajoutés. J'aimerai que ces lignes soient automatiquement ajoutés à mon fichier cible, mais juste pour les 3 premières colonnes! Car mes deux fichiers me permettent de récapituler des infos sur des paramètres différents.
Je veux quand même que ça me rajoute des lignes, pas juste entre-caller des cases ce qui décalerais par conséquent tout les infos alignées.
J'espère avoir été la plus claire possible :/
Vraiment merci pour votre aide :)
-
-
Bonjour
Voici les 2 fichiers
https://www.cjoint.com/?3BcpvmK366D
https://www.cjoint.com/?3BcpvP5LkB7
-
Je vous remercie de vous êtes donner du mal pour me montrer comment faire, mais malgré vos précieux conseil je n'y arrive pas :'(
Donc au lieu de continuer à prendre votre temps je vais abandonner cette idée! Tant pis ...-
-
Bonjour,
Malheureusement j'ai beau faire comme les classeurs exemple que vous m'avez fourni lorsque j'ajoute une ligne dans mon classeur source elle n'apparaît pas dans mon classeur cible!
Quand je met mes formules et tout il n'y aucun problème, Excel ne me signale pas d'erreur donc je ne comprends pas :/
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Je vous joins le fichier destination avec des infos pour vous aider
https://www.cjoint.com/?3BdlEjNFNLj
-
Je vous remercies :) mais je crois que le problème vient du fait que je ne veux pas ajouter des lignes de façon manuelle dans mon classeur destination.
En fait, c'est dans le classeur source que des lignes sont ajoutés et j'aimerai que ces dernières s'ajoutent automatiquement dans le classeur de destination (ou cible). Je ne sais pas si cela est possible? -
-
-
-
-
-
Je réitère ma question:
- Existe t-il un moyen de synchroniser deux fichier excel de mon fichier 1 vers mon fichier2?
- Et si dans mon fichier 2 il est possible que des lignes soient ajoutés automatiquement s'il y a des lignes ajoutés manuellement dans le fichier 1? (et que donc que le nb de lignes augmente automatiquement dans mon fichier 2 si il augmente dans mon fichier 1)
Donc Philou j'aimerai pouvoir vous répondre mais ça croorespond à ma question :/-
-
je n'ai créé aucun chemin pour récupérer les informations du fichier source mis à part la formule que vous m'aviez donnée qui est : =SI('[CheminClasseur2]'!A7="";"";' [CheminClasseur1]Feuille''!A7) dans chaque cellule en colonne A, B et C comme dans votre exemple
Mais les lignes ne s'ajoutent pas automatiquement et je ne pensais pas qu'il fallait mettre un autre chemin d'accès? -
-
-
Et ma solution, elle ne fonctionne pas ?
-
Bonjour,
Je viens juste de voir votre lien posté à 12:33!
Je veux bien essayer mais avant de me lancer savez-vous juste si l'ajout de lignes ds le classeur 1 entraîne automatiquement l'ajout de lignes dans le classeur 2? Car dans votre exemple vous mettez des données à la suite mais moi ça va être des lignes ajoutées en plein milieu de mon tableau, si oui ce serait vraiment super :) -
Non, pas de ligne insérées
Ce n'est pas ce qui etait demandé au depart.
" Il arrive régulièrement que des lignes soient ajoutés au premier tableau "
Du coup, autre solution :
dans le classeur destination, en A2
=SI(ESTTEXTE(DECALER([classeur1.xlsx]Feuil1!A$1;LIGNE()-1;0));DECALER([classeur1.xlsx]Feuil1!A$1;LIGNE()-1;0);"")
si le classeur source s'appelle classeur1.xlsx
on tire sur la poignée jusqu"à la colonne C, puis les trois jusqu'a 1000 si on veut
Supporte les insertions -
-
-
classeur 1 https://www.cjoint.com/c/EBdqVnSlZD1
classeur 2 https://www.cjoint.com/c/EBdqYktDay9
tu ouvres les 2 classeurs, tu vas dans le 1 et tu fais des modifs (insertion, ajout) et tu regardes dans le 2
-
-
Bonjour
Voyant que vous avez aussi des problème avec DjiDji59430
Je voudrai que vous vérifié les options dans votre Excel
1 - Pouvez vous vérifier dans le menu
Excel 2010
Fichier
Options
Options avancées
Rubrique Lors du calcul de classeur
Mettre à jour les liaisons vers d'autres document
Enregistrer les valeurs des liaisons externes
Ces 2 lignes doivent être cochées
2 - Ouvrir les 2 classeurs en même temps et dans le classeur destination
coller cette formule en A9
'=SI(ESTTEXTE(DECALER('[classeur source2.xlsx]Feuil1'!$A$1;LIGNE()-1;0));DECALER('[classeur source2.xlsx]Feuil1'!$A$1;LIGNE()-1;0);"")
puis enlever la strophe qui se trouve avant le signe égale et valider
Puis copier celle-ci en B9
'=SI(ESTTEXTE(DECALER('[classeur source2.xlsx]Feuil1'!$B$1;LIGNE()-1;0));DECALER('[classeur source2.xlsx]Feuil1'!$B$1;LIGNE()-1;0);"")
enlever aussi la strophe
Et pour finir en C9 coller celle-ci
'=SI(ESTTEXTE(DECALER('[classeur source2.xlsx]Feuil1'!$C$1;LIGNE()-1;0));DECALER('[classeur source2.xlsx]Feuil1'!$C$1;LIGNE()-1;0);"")
La strophe est là pour transformer la forme en texte, comme ça la formule ne varie pas pendant l'envoie vers vous
Le fichier
https://www.cjoint.com/?3BekhUOetkg
avec les formules au format texte-
Bonjour :)
Les options que vous m'avez précisées sont bien cochées.
Par contre le problème reste le même :(
Aucun message d'erreur de Excel et la formule bien affichées dans la barre de formule mais rien dans la case!- Avez-vous essayé de copier la formule dans le fichier destination
Les deux classeurs étant ouvert.
Vous pouvez les afficher l'un à côté de l'autre avec le menu affichage réorganisé vertical
Quand vos deux fichier sont en position
sélectionner la partie de la formule en gras et allez sur le classeur source avec la souris et cliquer en A1
=SI(ESTTEXTE(DECALER('[classeur source2.xlsx]Feuil1'!$A$1;LIGNE()-1;0));DECALER('[classeur source2.xlsx]Feuil1'!$A$1;LIGNE()-1;0);"")
Puis sélectionner la deuxième partie en gras
=SI(ESTTEXTE(DECALER('[classeur source2.xlsx]Feuil1'!$A$1;LIGNE()-1;0));DECALER('[classeur source2.xlsx]Feuil1'!$A$1;LIGNE()-1;0);"")
et sélectionner à nouveau la source A1 et valider
la formule doit afficher la valeur source
-
-