Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Inventaire total et périodique

La flamme

XLDnaute Junior
bonjour les experts du codage, svp j'ai un problème qui me dépasse , c'est pour cette raison que je me tourne vers vous pour bénéficier de vos différents points de vues .
j'ai un facturier automatisé, et j'aimerais pouvoir faire , soit de toutes les factures ou sur une période délimiter par deux dates différentes. Le problème est le suivant l'inventaire doit prendre en compte : la somme des valeurs en B si en F est memtionné payé là on est sur sheets ("prog") - (la somme des cellules C D E de sheets ("achat") + autres dépenses obligatoire qui sera saisie dans un inputbox) là c'est de manière générale, l'utilisateur pourra avoir la possibilité de spécifier cette même opération sur une plage de date en saisissant date de début et date de fin.
je ne sais pas si cela est réalisable ou pas . Dans tous les cas je me remets à vous pour en savoir d'avantage. Merci d'avance
cordialement
 

Pièces jointes

  • inventaire.xlsm
    48.9 KB · Affichages: 24
Solution
J'ai rajouté le module Enregistrement.
Dans le module Périodique, à la fin des calculs, toutes les infos sont mémorisées dans des variables Public
( ColB à ColE )
En cas de demande d'enregistrement il suffit de transférer ces données publiques dans la page Dep.
Simple et efficace.
( L'enregistrement ne se fait qu'en Périodique à cause des dates qu'il faut mémoriser dans Dep )

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai rajouté le module Enregistrement.
Dans le module Périodique, à la fin des calculs, toutes les infos sont mémorisées dans des variables Public
( ColB à ColE )
En cas de demande d'enregistrement il suffit de transférer ces données publiques dans la page Dep.
Simple et efficace.
( L'enregistrement ne se fait qu'en Périodique à cause des dates qu'il faut mémoriser dans Dep )
 

Pièces jointes

  • inv3.xlsm
    54 KB · Affichages: 4

La flamme

XLDnaute Junior
Re bonjour j'ai introduit le code dans mon fichier source ça marche à merveille, pour cela je te remercie grandement. Mais quand j'essaye de l'exécuter avec office2010 partout où il y'a :
DL = .Range("A65500").End(xlUp).Row
Ça sélectionne DL et me renvoie Erreur de compilation : projet ou bibliothèque introuvable.
Svp comment remédier à cela ? Merci d'avance
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Avec quoi avez vous testé quand vous dites que ça marche à merveille ?

Quand cela ne marche pas c'est surement que :
1- DL n'est pas déclaré et vous êtes en option explicite, rajoutez Dim DL% au début de la macro
2- La sheet n'est pas déclarée avant vous devriez avoir un With Sheets("xxxx") avant, car le point avant Range fait appel à une feuille déclarée auparavant.
3- Vous avez oublié un "morceau" de code quelque part, ou la déclaration Public.

sinon je ne vois pas.
 

La flamme

XLDnaute Junior
Avec
Office 2013 ça marche à merveille mais avec office 2010 ça renvoie l'erreur de compilation.
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je suis en 2007 et ça marche.
Essayez de remplacer DL = .Range("A65500").End(xlUp).Row par
DL =Sheets("xxx") .Range("A65500").End(xlUp).Row

Ou alors c'est DL qu'il n'aime pas mais il n'y a aucune raison, dans ce cas essayez de changer tous les DL par DernLigne pour voir.

J'ai rencontré des OK sous 2013 mais KO sous 2007, ce qui peut être noral à cause des compatibilités ascendantes, mais des OK 2007, OK 2013 et KO 2010, ça m'échappe.
 

La flamme

XLDnaute Junior
Je ne comprends pas pourquoi ça fait cela . Même celui dans ThisWorkbook fait pareil. Avec Excel 2010 pourtant fonctionne avec 2013. J'ai cherché une réponse sans succès
Avec

Office 2013 ça marche à merveille mais avec office 2010 ça renvoie l'erreur de compilation.
Cordialement

Re
A ma grande surprise ça ne marche toujours . Je suis même aller dans les références j'ai rien vu d'anormal. Merci pour la collaboration , svp si c'est possible continuez à explorer d'autres pistes de résolution moi de mon côté je fais pareil . Merci d'avance
Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
A ma grande surprise ça ne marche toujours .
"A ma grande surprise ça ne marche toujours pas" ou "A ma grande surprise ça marche toujours ." ???
Cela veut dire que les deux modifs proposées ne marchent pas ?
Vérifiez que les noms de feuilles dans la VBA sont correctes.
Remplacer pour voir en mettant DL=1234 ( 1234 étant le nombre de lignes ) cela permettra de voir si c'est le DL ou le .Range("A65500").End(xlUp).Row qu'il n'aime pas.
Mais n'ayant que 2007, je ne peux pas en faire plus.
Testez la PJ avec vos deux XL, il fait trois fois la même chose avec des syntaxes différentes.
 

Pièces jointes

  • Test.xlsm
    16.7 KB · Affichages: 8

La flamme

XLDnaute Junior
Je n'arrive pas à avoir les idées j'ai tripatouillé entre Explorateur d'objets et références jusqu'à un fichier et comme je faisais les trucs à taton je ne me souviens plus de quelle paramètre modifié pour que les autres fichiers fonctionnent pareillement.

Je teste ton fichier et je reviens
Cordialement
 

La flamme

XLDnaute Junior
Re
Merci pour tout .
Il apparaît qu'il y'avait un supplément de références actives, j'ai activé uniquement :
- visual Basic for applications
- Microsoft Excel 14.0 Objet Library
-OLE Automation
- Microsoft Forms 2.0 Objet Library
Appliquer partout ça fonctionne à merveille
Cordialement.
 

La flamme

XLDnaute Junior
Salut Bebere là Sylvanu m'a aidé à consevoir un userform pour réaliser un bilan conditionné en fonction des données inscrit sur deux feuilles différentes.
Bonjour La flamme,Sylvanu
Explique un peu plus clairement
exemple:somme d'après les entêtes de colonnes de prog ou de achat
tu as le code inventaire (function),je ne vois rien dans le code userform2
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…