XL 2019 Liaison avec un second fichier excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Electronull

XLDnaute Nouveau
Bonsoir à tous,

J'ai un fichier excel qui a 1 feuille qui contient un tableau avec 3 colonnes : Intitulé; prix; catégarie
Dans mon second fichier, j'ai 1 onglet par jour calendrier, avec des colonnes : Description; prix; catégorie et autre
Dans la colonne prix j'ai la formule =+SI(ESTVIDE(D6);" ";RECHERCHEV(D6;'[Donnees_Liste_Produits.xlsx]Liste des produits'!$A$1:$C$799;2;0))
Le souci, j'ai la référence au tableau $A$1:$C$799 qui ne suit pas le maximum de lignes si je rajoute des produits dans mon tableau , ici 799 alors que j'ai 810 lignes

Comment faire pour que le nbre de lignes se met à jour automatiquement ?

Merci pour votre aide
 
Solution
Bonjour à toutes et à tous,
@Electronull , j'ai donc fait une (grosse) adaptation pour faire fonctionner cela avec les versions antérieures à Excel 2021 et 365.
Cela passe par des macros et des noms définis.
J'ai sorti du classeur modèle la création des journaux pour un mois donné à partir du modèle.
J'ai enlevé toutes les macros et événements qui ne servaient pas à notre propos pour que ce soit plus clair à lire.
Il y a maintenant 3 classeurs
  • Les données : "Données_Liste_Produits.xlsm" (sans liaisons)
  • Le modèle : "Modèle Journal de ventes.xlsm" (avec liaisons vers les données à mettre à jour après l'import des fichiers joints)
  • Le générateur de journal ; "Générer Nouveau Journal.xlsm" (à utiliser...
Edit : cette solution ne s'applique qu'au versions 2021, 2024 et 365.

Bonne nuit à toutes & à tous,
@Electronull,
J'ai donc fait la manip décrite au post#15 en l'adaptant à tes fichiers. Mais, quand tu auras téléchargé les 2 pièces jointes, il te faudra mettre à jour les liaisons du classeur "2015-02 Journal de ventes.xlsm" en suivant la démarche ci-dessous :

1738373390418.png


Sur les feuilles "JOUR n" j'ai mis à jour les formules du tableau :
1738373640870.png

et j'ai remplacé le tableau suivant par 2 formules qui s'actualisent avec la liste des catégories du classeur source :
1738373715006.png

Quant à la feuille "Résumé caisse" j'ai modifié les formules (1 seule formule pour les résultats pour les 8 catégories à tirer vers le bas) :
1738374521872.png


Je n'ai pas touché à tes macros,
sauf le mon du fichier source "Donnees_Liste_Produits.xlsm"
et les formules "Worksheets("JOUR " & Format(Now, "DD"))" en "Worksheets("JOUR " & Format(Now, "D"))" (pour le pb des quantièmes à 1 chiffre)
J'ai juste ajouté au classeur source "Donnees_Liste_Produits.xlsm" 2 macros Worksheet_Change pour mettre à jour les noms utilisés (voir post#15)

Voilà il y a d'autres améliorations à faire pour te simplifier la vie mais je me suis arrêté là.

À bientôt
 

Pièces jointes

Dernière édition:
Bonjour AtTheOne,

Merci pour les fichiers
J'ai bien refait la mise à jour de la liaison

MAIS : dans les totaux des catégories j'ai #NOMS? de O6 à P14
Dans O6 =_xlfn.VSTACK(ChoixCatégorie;{"Utilisation bon cadeau"})
Dans P6 =SOMME.SI(L6:L46;_xlfn.ANCHORARRAY(O6);K6:K46)+SI(_xlfn.ANCHORARRAY(O6)="Utilisation bon cadeau";SOMME.SI(M6:M46;"Utilisation BC";K6:K46);0)


Impossible de sélectionner un produit dans la colonne D, mais si je tape le produit manuellement les colonnes F à L de la ligne se mettent à jour
Je n'ai pas la même formule que tu montres dans le Post dans la feuille Résumé Caisse
PS: ah si, elle était en ligne 16, j'ai donc recopié partout.

Désolé, mais je n'ai jamais utilisé les tableaux de cette façon, donc je m'y perds un peu, mais j'essaye de comprendre.

Merci pour ton aide
 
Bonjour à toutes et à tous,
@Electronull , j'ai donc fait une (grosse) adaptation pour faire fonctionner cela avec les versions antérieures à Excel 2021 et 365.
Cela passe par des macros et des noms définis.
J'ai sorti du classeur modèle la création des journaux pour un mois donné à partir du modèle.
J'ai enlevé toutes les macros et événements qui ne servaient pas à notre propos pour que ce soit plus clair à lire.
Il y a maintenant 3 classeurs
  • Les données : "Données_Liste_Produits.xlsm" (sans liaisons)
  • Le modèle : "Modèle Journal de ventes.xlsm" (avec liaisons vers les données à mettre à jour après l'import des fichiers joints)
  • Le générateur de journal ; "Générer Nouveau Journal.xlsm" (à utiliser pour générer les nouveaux journaux par mois)

Je te laisse découvrir les méthodes utilisées :
  • Dans le fichier de données les événements permettent de mettre à jour les listes à utiliser et des noms définis avec des références "en dur" (style $A$1:$Z$100)
  • Dans le fichier Modèle : une macro remplace la Formule =TRIER(UNIQUE(....)), on met à jour les noms définis avec des adresses en dur.
  • Dans le fichier générateur de journal : une macro appelée par un bouton permet après vérifications des générer le journal pour un mois donné à partir du modèle.
Fais des essais et tiens moi informé.

À bientôt
PS : N'oublie pas de mettre à jours les liaison du modèle après importation.
 

Pièces jointes

Salut AtTheOne,

Merci pour les fichiers, tu as pris sur ton tps libre pour me faire ça, je te redis merci.

C'est parfait !
Il y a bcp moins de code que moi, je ne suis pas un pro non plus.
Cela va me prendre un peu de tps pour déchiffrer tout ça.

J'ai mis une autre question sur un new post, concernant la vérification du fichier de données pour les liaisons au cas où on aurait déplacé le fichier.

En tout cas 1000 merci.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
48
Réponses
15
Affichages
515
Retour