XL 2016 Liaison des données issues de plusieurs fichiers

oscarette

XLDnaute Nouveau
Bonsoir à tous,
Par avance pardon si je n'utilise pas les bons termes, je n'ai pas l'habitude.
J'ai 2 fichiers excel dans lesquels j'extrais les données de l'un (activité 1) pour les intégrer dans l'autre (fiche 2).
Les données extraites sont le nom et prénom, l'âge, ainsi que d'autres infos de c e type.
Pas de difficultés de ce coté mais je dois apporter d'autres renseignements supplémentaires liés à chaque individu dans le fichier (fiche2). Or dès que je fais un tri sur les données du fichier (activité 1) par conséquent cela le fait aussi sur "fiche 2" sans pour autant trier les nouvelles informations que j'ai saisie sur ce tableau.
Comment lier les données extraites du tableau "activité 1" au données saisie dans le tableau "fiche"2.
Je vous joint les 2 tableaux pour plus d'explications. Les données extraites des tableau 1 sont en gris dans le tableaux2.
En vous remerciant pour votre aide
Oscarette
 
Dernière modification par un modérateur:
Solution
Re Oscarette,
Le fichier a grossi ! ;)

J'ai détecté deux erreurs :
1- Vous rapatriez une colonne de plus ( 19,11). Donc la première colonne de mise à jour passe de 12 à 13 (DebutZone = 13)
2- Vous passez d'un max colonne de CJ à HU. Evidemment la synchro doit suivre, donc de 88 (CJ) à 229 (HU). (FinZone = 229 )

J'espère que la modif "macro_protegee" a fonctionné.

Dernier point. Comme le fichier devient complexe et que le nombre d'intervenants est multiple. Le nombre d'erreur augmente significativement ( erreur de saisie, effacement intempestif de cellule, erreur de manip ... ).
Il serait bon que vous méttiez en place, si ce n'est déjà fait, une sauvegarde soit journalière, soit hebdomadaire. Je pense que cela vous sauvera...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re Oscarette,
Le fichier a grossi ! ;)

J'ai détecté deux erreurs :
1- Vous rapatriez une colonne de plus ( 19,11). Donc la première colonne de mise à jour passe de 12 à 13 (DebutZone = 13)
2- Vous passez d'un max colonne de CJ à HU. Evidemment la synchro doit suivre, donc de 88 (CJ) à 229 (HU). (FinZone = 229 )

J'espère que la modif "macro_protegee" a fonctionné.

Dernier point. Comme le fichier devient complexe et que le nombre d'intervenants est multiple. Le nombre d'erreur augmente significativement ( erreur de saisie, effacement intempestif de cellule, erreur de manip ... ).
Il serait bon que vous méttiez en place, si ce n'est déjà fait, une sauvegarde soit journalière, soit hebdomadaire. Je pense que cela vous sauvera la mise le jour où une cata surviendra.

Sur ce, et si nous ne nous recontactons pas d'ici là, je vous adresse mes meilleurs voeux pour cette nouvelle année avec le plus de bonheur possible .... et le moins de bugs possible. :)
 

Pièces jointes

  • Modifications faites (2).docx
    17.2 KB · Affichages: 6

oscarette

XLDnaute Nouveau
Bonjour Sylvanu
Je vous présente tous mes vœux pour cette nouvelle année.
Malgré plusieurs essais, la protection de la macro "Oter" ne fonctionne pas. J'ai suivi l'exemple tiré du site Internet suivant et de vos conseils mais rien ne se passe, même pas de message d'erreur.
Pour la sauvegarde journalière, cela avait été pensé donc le mise en place sera effective dès que nous utiliserons les fichiers. Mais merci de me faire penser à tout cela.
J'ai vu que dans "Formules/Gestionnaire de noms" il y a une erreur #REF! qui se trouve sur "PlageSauve2" mais je ne vois pas d'erreur sur le fichier "fiche navette", pourriez-vous voir ceci.
Bonne journée
Oscarette
 

Pièces jointes

  • MJIE - Suivi Activité 2019.zip
    728.1 KB · Affichages: 7
  • Fiche navette - MJIE 2019.zip
    747.3 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Chère Oscarette, mes meilleurs voeux pour cette nouvelle année.

Je n'ai vraiment pas compris le problème pour Oter. Vous n'avez rien modifié, donc rien ne change.
La macro que je vous avez fourni était un exemple montrant la structure à adopter. Non un module opérationnel.
Ci joint le module Oter remanié :
VB:
Sub Oter()
MDP_
Dim Reponse As Variant
Reponse = Application.InputBox("Entrez le mot de passe pour continuer", "Macro protégée")
Select Case Reponse
   Case Is = False
      'Si on appuie sur annuler: on ne fait rien
      Exit Sub
   Case Is = mdp
        ' Mot de passe correct
        ' Déprotection  Macro
        Sheets("Fiche navette MJIE").Unprotect Password:=mdp
        Sheets("Statistiques").Unprotect Password:=mdp
        Sheets("Besoins").Unprotect Password:=mdp
        Sheets("Feuil1").Unprotect Password:=mdp
        Sheets("Mode d'emploi").Unprotect Password:=mdp
        ActiveSheet.Unprotect
   Case Else
      'Mauvais mot de passe
      Protec
      MsgBox "Le mot de passe est incorrect. Veuillez recommencer."
End Select
End Sub
Dans le module Oter_Protect remplacer la macro Oter par celle ci.
J'ai vérifié, les trois cas marchent ( Annuler, mdp faux, mdp vrai )

Le PlageSauv avec #REF! peut être supprimé. Aucune incidence.
Par contre dans SuiviActivités, vous avez un tas de #REF! pour Zone d'impression et Impression des titres. Vous pouvez faire le ménage.
Idem pour tous les modules vides qui sont réapparus ( Module1 à Module7) qui peuvent être supprimés car vide. Il faut garder les macros "propres" afin de rester lisible, en cas de maintenance ou plus souvent ... d'une hiérarchie qui va vous demander une nouvelle fonctionnalité.

Eh bien bon travail. Là c'est simple.:)
Encore mes meilleurs voeux.
 

oscarette

XLDnaute Nouveau
Bonjour Sylvanu
Je n'avais en effet rien modifié dans "Oter" mais sur une autre macro "Macro_Protegee" que j'avais essayé de mettre en place. D'après l'exemple trouvé, j'avais imaginé qu'il fallait créer une nouvelle macro qui permettait de protéger n'importe quelle macro renseignée. Dans un sens ou dans l'autre, le principal étant que cela marche !
Pour "PlageSauve" j'avais essayé de le supprimer mais cela reveint à chaque ouverture de fichier. Mais si il n'y a pas d'incidence sur le fichier, laissons donc cela sans rien faire. Pour les autres #REF! je vais supprimer tout ceci à la fin.
Merci
Bonne journée
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Votre Macro_Protegee aurait pu fonctionner dès lors que vous l'auriez appelée quelque part.
Par ex dans Oter, vous faisiez Call Macro_Protegee puis traitiez la réponse dans Oter. Mais c'est plus simple d'imbriquer les deux comme je l'ai fait.
Pour Plagesauve, je l'appelle ainsi lorsque je fais une sauvegarde. Cela n'a aucune incidence puisqu'ensuite je la rappelle avec le même nom.
Bon week end.
 

Discussions similaires

Statistiques des forums

Discussions
314 630
Messages
2 111 369
Membres
111 115
dernier inscrit
mermo