Centraliser les données sur un seul fichier
Bonjour,
je cherche à réaliser un fichier Excel (ou PBI) qui centralise les données existante dans d'autres fichiers qui se trouves tous dans un même dossier (et ses sous dossiers).
Je vais tenter d'expliquer même si c'est un peu compliqué
J'ai un fichier Excel ou il y a des numéros de devis en colonne A. a chaque fois qu'un operateur réalise un devis, il doit ouvrir ce fichier, vérifier quel est le premier numéro disponible, puis l'utiliser dans son devis (qui est un fichier Excel). Par exemple, si le numero CHU-0025 est pris (car les cases B, C et D sont renseignées), il prendra le CHU-0026 car les case B, C et D sont vides.
Dans les colonnes B, C et D de ce fichier, l'opérateur est sensé inscrire manuellement les données "numero d'affaire" en B, date du devis en C, et nom du client en D.
Puis lorsqu'il créer son devis, il va réécrire ces même informations dans les case dédiées dans le devis.
Ici on voit qu'il fait 2 fois le même travail. il écrit les information dans le fichier centralisé, puis dans le devis.
Ce que je souhaite, c'est qu'il n'écrive ces informations qu'une seule fois dans le devis, et que le fichier central reconnaisse les données grâce au numéro de devis et les importe directement dans les colonne B, C et D.
Ca fonctionnerait un peu comme la fonction somme.si - c'est à dire que si le numéro de devis de la case A1 est reconnu sur le devis nouvellement créer, alors les informations des autres case se renseignent automatiquement (bien sur, tus les devis ont la même disposition des informations).
Sauriez vous si une VBA, ou un Power Query peut le faire ?
n'hésitez pas à me demander d'expliquer si ce n'est pas clair
Je vous remercie par avance pour votre aide !
Bonjour
PowerQuery peut le faire mais, s'il y a un grand nombre de devis, relire tous les fichiers n'est pas neutre en temps d'exécution.
Il est préférable, je pense, qu'un bouton de validation retranscrive par VBA les données du devis terminé dans le classeur centralisateur.
Cependant il peut y avoir les problèmes suivants :
- si plusieurs personnes font des devis en même temps, conflit d'accès
- si un devis est corrigé cela complique la MAJ du classeur centralisateur
Ce type de processus est plutôt du ressort d'une base de données que d'un tableur.
Il y a combien d'opérateurs et combien de devis par mois ?
Bonsoir Yanis et 78Chris,
Si j'ai bien compris ton souci, je te propose la procédure suivante :
1 l'opérateur va dans le classeur mémorisant la synthèse des devis et encode dans ce fichier en regard du premier numéro libre les coordonnées B ; C : D et sauve le classeur
2 il active le classeur devis vierge et encode le numéro assigné et un VBA va chercher dans le dossier de synthèse (à l'aide du numéro) les coordonnées B , C et D et les installe dans le classeur Devis
Avantages :
1 il ne va qu'une seule fois dans le dossier de synthèse et il n'occupe que très peu de temps ce classeur qui peut être appelé par d'aitres opérateurs et le numéro assigné est tout de suite réservé.
2 il n'encode qu'une fois les coordonnées mais il devra encoder le numéro de devis dans le classeur devis (qu'il devait quand même aussi encoder dans la procédure inverse)
3 il est beaucoup plus simple de mettre à jour le classeur devis que de faire l'inverse
Si cette façon de procéder t'intéresse fais moi parvenir la structure de tes 2 types de classeurs avec des données "bidons" et je te ferai le petit VBA qui alimentera le classeur Devis.
A bientôt
Chris
Bonjour 78chris, CHRIS1945,
D'abord je souhaite vous remercier pour vos réponses et le temps que vous m'accordez.
78chris, en effet ca risque d'être lourd ca nous somme un 10aine à faire des devis et on en fait beaucoup par mois.
CHRIS1945, oui tu as tout a fait raison. Prendre le problème dans ce sens le simplifie beaucoup. Plutôt qu'utiliser une VBA, je viens de faire un test avec la simple fonction rechercheX et ca fonctionne. En me basant sur tes conseils, la philosophie que je projette est : je créer un fichier A liste des devis, ou j'inscrit manuellement les données, en colonne A les numeros et les autres colonnes les informations (nom du client etc ..). Je créer un devis "type" vierge avec la fonction rechercheX, de telle sorte que lorsque l'operateur inscrit le numéro de devis dans son devis, les autres cases se remplissent automatiquement. Je vais verrouiller les cases ou il y a ces formules de façon à ce qu'elles ne soient pas modifiées. De cette façon l'opérateur pourra toujours réaliser son devis comme avant sans avoir à réécrire toutes les informations.
Est ce que vous pensez que ceci est pertinent ? est ce que vous y voyez une problème potentiel ?
Merci encore,
Yanis
Bonjour
A priori RECHERCHEX ne fonctionne sans doute pas sur classeur fermé
A défaut de VBA on peut extraire les données avec une requête paramétrée sur le contenu d'une cellule contenant ce numéro de devis et rupture du lien après (cela évite toutes les liaisons qui finissent souvent par poser problème (déplacement de classeur, renommage des dossiers...)
La modèle contiendrait la requête
Bonsoir,
Pour moi c'est parfait.
Content d'avoir pu t'aider
Bonne continuation
Chris