Visual basic

k@rl

XLDnaute Nouveau
Bonsoir à tous,

Il y a quelques temps, j'ai fait appel a certains d'entre vous pour m'aider à réaliser un petit programme pour calculer la consommation éléctrique sur mon lieu de travail. Une partie de ce programme ne fonctionne plus. N'étant pas un spécialiste de VBA, quelqu'un pourait-il m'aider à trouver la faille ?
Pourriez-vous m'expliquer ligne par ligne le petit programme ci-dessous
Merci beacoup.

Consommation expéditions
'
Sheets("Poste 5").Activate
Range("D65536").End(xlUp).Select
Somme = Selection.Value - Selection.Offset(-1, 0).Value
'colonne F Réfrigérant 3"
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne H Réfrigérant 8"
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne J 75 CH
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne L 25 CH
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne N Armoires B
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne P 40 CH
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Compteur général colonne B
Range("B65536").End(xlUp).Select
'La somme précedante est à déduire de cette difference
Somme = (Selection.Value - Selection.Offset(-1, 0).Value) - Somme
Sheets("Répartitions du mois").Select
'Cette ligne de code sert à arrondir à la dizaine supérieure
Range("C24") = Application.WorksheetFunction.RoundUp(Somme / 10, 0) * 10
 

mth

XLDnaute Barbatruc
Re : Visual basic

Bonsoir Karl,
Ci-dessous en vert ce que j'ai compris, ceci dit qu'est-ce qui ne fonctionne plus? La macro plante ou le calcul est erroné?
Je pense qu'un petit bout de fichier zippé pourrait aider les forumers à trouver l'erreur.
A bientôt,
MTh


Bonsoir à tous,

Il y a quelques temps, j'ai fait appel a certains d'entre vous pour m'aider à réaliser un petit programme pour calculer la consommation éléctrique sur mon lieu de travail. Une partie de ce programme ne fonctionne plus. N'étant pas un spécialiste de VBA, quelqu'un pourait-il m'aider à trouver la faille ?
Pourriez-vous m'expliquer ligne par ligne le petit programme ci-dessous
Merci beacoup.

Consommation expéditions
'
Sheets("Poste 5").Activate Sélectionne l'onglet Poste 5
Range("D65536").End(xlUp).Select Sélectione la dernière cellule remplie de la colonne D
Somme = Selection.Value Valeur de la cellule sélectionnée - Selection.Offset(-1, 0).Value Valeur de la cellule sur la ligne du dessus (-1) et sur la même colonne (0)
'colonne F Réfrigérant 3"
Selection.Offset(0, 2).Select Valeur de la cellule située sur la même ligne et deux colonnes à droite
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne H Réfrigérant 8"
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne J 75 CH
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne L 25 CH
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne N Armoires B
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Colonne P 40 CH
Selection.Offset(0, 2).Select
Somme = Somme + (Selection.Value - Selection.Offset(-1, 0).Value)
'Compteur général colonne B
Range("B65536").End(xlUp).Select
'La somme précedante est à déduire de cette difference
Somme = (Selection.Value - Selection.Offset(-1, 0).Value) - Somme
Sheets("Répartitions du mois").Select
'Cette ligne de code sert à arrondir à la dizaine supérieure
Range("C24") = Application.WorksheetFunction.RoundUp(Somme / 10, 0) * 10
 

k@rl

XLDnaute Nouveau
Re : Visual basic

Bonsoir Karl,
Ci-dessous en vert ce que j'ai compris, ceci dit qu'est-ce qui ne fonctionne plus? La macro plante ou le calcul est erroné?
Je pense qu'un petit bout de fichier zippé pourrait aider les forumers à trouver l'erreur.
A bientôt,
MTh

Bonsoir le forum
Bonsoir mth,
Le calcul était erronné, en B64 j'ai saisi un mauvais chiffre. Tout est redevenu normal.
Malgré tout, pouvez-vous m'expliquer quand même ligne par ligne le fonctionnement de ce programme. Pour que je comprenne bien, pouvez-vous poser les opérations effectuées à chaque ligne, avec son résultat?
Merci de votre aide
A bientôt
 

Pièces jointes

  • pour downloads.zip
    14.7 KB · Affichages: 39

mth

XLDnaute Barbatruc
Re : Visual basic

Bonsoir Karl,
Impossible de faire tourner car les onglets du fichier joint ne correspondent pas à la macro, et qui plus est la macro n’est pas dans le fichier. Pas grave, voici peut-être une solution qui pourra vous aider :

Cliquer sur le menu Outil\Macro\Macro : Sélectionner la macro et cliquer sur « modifier. »
Là, un écran s’ouvre dévoilant la macro . A gauche de chaque ligne (dans la zone grise) cliquer pour faire apparaître un petit point d’arrêt. Une fois ceci fait, Exécuter la macro. Chaque ligne est traitée une à une en s’arrêtant avant d’exécuter la ligne suivante (qui apparaît en jaune). Ceci permet d’observer très en détail ce qui se passe sur la feuille excel (attention, en regardant la feuille excel, ne pas cliquer à l’intérieur du tableau pour ne pas changer la cellule active, juste regarder).
Ensuite, vous pouvez enlever les points d’arrêt un à un ou tous en même temps avec le menu Débogage\Effacer tous les points d’arrêt.

Voilà, en espérant que cela vous conviendra,
Bien à vous,
MTh
 

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji