soukainas
Messages postés1Date d'inscriptionlundi 19 août 2013StatutMembreDernière intervention24 août 2013
-
24 août 2013 à 14:07
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
26 août 2013 à 13:10
bonjour tout le monde (mon projet est de calculer la somme des rebut d'un site de fabrication)
en fait j'ai rencontré un problème au cours de l'utilisation des données d'un fichier CSV. le programlme vba suivant est mis afin de filtrer l'activité voulu (com-ind.) et le site voulu (LP) pour faire enfin la somme de la colonne qui contient la valeur de la rebut puis la mettre dans la colonne correspondante J12 dans la feuille de travail
le probleme c'est que j'obtient la valeur 0
voila le programme:
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 26 août 2013 à 13:02
Salut
Tu dimensionnes une variable 'somm' mais tu utilises une autre variable 'somme'.
Ton projet a t-il une déclaration obligatoire des variables ?
Non --> Impose-le dans les options de l'éditeur; cela te préviendra de ce genre d'erreur
Oui --> As-tu, quelque part, un affreux "On Error Resume Next" ?
Si oui, supprime-le; cette instruction n'est à utiliser que dans des cas très spécifiques et provoque le masquage des erreurs.
Vala
Jack [MVP VB]
NB : Je ne répondrai pas aux messages privés
Ton programme n'est pas clair avec les Fichier1, Fichier2 ...
Difficile à suivre quand on ne connait pas ton environnement (chose qui t'arrivera dans quelques mois quand tu remettra le nez dedans)
Pour ouvrir un classeur, dimensionne un objet
Dim oClasseur1 As WorkBook
et ouvre-le de la même manière (*) que tu le fais :
Set oClasseur1 = Workbooks.Open (Var_Chemin, 0, ReadOnly:=False)
(*) Il faut ajouter des ( et ) dans la fonction qui suit un =.
Dans la suite de ton programme, tu n'auras plus qu'à t'adresser à l'objet oClasseur1 au lieu d'utiliser ActiveWorkbook.
Si tu fais de même avec les feuilles, tu pourras travailler sereinement en étant sûr de t'adresser à la bonne feuille, car avec Sheets(2).Select, tu ne précises pas quel classeur ! Gare aux boulettes !
Modifié par cs_Jack le 26/08/2013 à 13:11
Difficile à suivre quand on ne connait pas ton environnement (chose qui t'arrivera dans quelques mois quand tu remettra le nez dedans)
Pour ouvrir un classeur, dimensionne un objet
et ouvre-le de la même manière (*) que tu le fais :
(*) Il faut ajouter des ( et ) dans la fonction qui suit un =.
Dans la suite de ton programme, tu n'auras plus qu'à t'adresser à l'objet oClasseur1 au lieu d'utiliser ActiveWorkbook.
Si tu fais de même avec les feuilles, tu pourras travailler sereinement en étant sûr de t'adresser à la bonne feuille, car avec Sheets(2).Select, tu ne précises pas quel classeur ! Gare aux boulettes !