Problème macro
Résolu/Fermé
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
-
12 févr. 2020 à 15:33
yg_be Messages postés 23408 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 décembre 2024 - 11 mars 2020 à 16:32
yg_be Messages postés 23408 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 décembre 2024 - 11 mars 2020 à 16:32
A voir également:
- Problème macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
4 réponses
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
Ambassadeur
1 557
12 févr. 2020 à 16:07
12 févr. 2020 à 16:07
bonjour,
le fichier production ne contient plus les mêmes données au même endroit qu'avant.
le programme est, pour le moment, tout bête, il ne cherche pas les donnés, il va les chercher à une place précise.
je pense que cela ira mieux en changeant ces deux lignes dans le code (je pense que tu trouveras facilement les lignes existantes):
je remarque aussi que l'ordre des machines a changé, il n'est plus le même dans le ficher production et le fichier compteur. soit tu adaptes un des deux fichiers, soit on recommence la discussion pour que le programme trouve la bonne ligne pour chaque machine.
le fichier production ne contient plus les mêmes données au même endroit qu'avant.
le programme est, pour le moment, tout bête, il ne cherche pas les donnés, il va les chercher à une place précise.
je pense que cela ira mieux en changeant ces deux lignes dans le code (je pense que tu trouveras facilement les lignes existantes):
hrtravjour = f.[R22] tabloM = f.Range("AA9:AA21")
je remarque aussi que l'ordre des machines a changé, il n'est plus le même dans le ficher production et le fichier compteur. soit tu adaptes un des deux fichiers, soit on recommence la discussion pour que le programme trouve la bonne ligne pour chaque machine.
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
2
12 févr. 2020 à 17:40
12 févr. 2020 à 17:40
Re,
merci de votre retour
attendez svp je dois me concentrer un peu, merci d'avoir dégager cette remarque
mon but de ce fichier est de calculer les pourcentages d'arrêt mensuel de l'atelier
en faisant la somme de toutes les R22 d'un mois, on obtient le nombre d'heures d'ouverture de l'atelier
puis en calculant la formule R22*AAx ça nous donne les nombre d'heures de travail réel de la machine alors la formule doit être (R22*(100-AAx))/100 pour avoir le complémentaire de la formule précédente ce qui donne justement le nombre d'heures d'arrêt de la machine
le reste se calcule de la même façon qu'auparavant: on somme ,pour chaque machine, toutes les heurs d'arrêt pendant un mois puis on divise le résultat par la somme des R22 pendant le même mois et on obtient finalement le pourcentage d'arrêt pendent le mois considéré
en ce qui concerne la liste des machines, oui votre idée me parait efficace on peut utiliser la lettre symbole des machines pour les repérer dans les deux fichiers
merci beaucoup
bien cordialement
merci de votre retour
attendez svp je dois me concentrer un peu, merci d'avoir dégager cette remarque
mon but de ce fichier est de calculer les pourcentages d'arrêt mensuel de l'atelier
en faisant la somme de toutes les R22 d'un mois, on obtient le nombre d'heures d'ouverture de l'atelier
puis en calculant la formule R22*AAx ça nous donne les nombre d'heures de travail réel de la machine alors la formule doit être (R22*(100-AAx))/100 pour avoir le complémentaire de la formule précédente ce qui donne justement le nombre d'heures d'arrêt de la machine
le reste se calcule de la même façon qu'auparavant: on somme ,pour chaque machine, toutes les heurs d'arrêt pendant un mois puis on divise le résultat par la somme des R22 pendant le même mois et on obtient finalement le pourcentage d'arrêt pendent le mois considéré
en ce qui concerne la liste des machines, oui votre idée me parait efficace on peut utiliser la lettre symbole des machines pour les repérer dans les deux fichiers
merci beaucoup
bien cordialement
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
12 févr. 2020 à 17:58
12 févr. 2020 à 17:58
pour calculer les pourcentages d’arrêts au lieu des pourcentages de travail, il suffit, en effet, de modifier la ligne pour faire (100-AAx):
si tu me montres le fichier compteur avec les lettres symboles quelque part, je peux adapter le code pour utiliser cette lettre et trouver les bonnes lignes dans le fichier production.
(je trouve plus sympa de se tutoyer entre participants au forum)
tablo(i, nMois) = tablo(i, nMois) + (100 - tabloM(i, 1)) / 100 * hrtravjour
si tu me montres le fichier compteur avec les lettres symboles quelque part, je peux adapter le code pour utiliser cette lettre et trouver les bonnes lignes dans le fichier production.
(je trouve plus sympa de se tutoyer entre participants au forum)
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
2
>
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
12 févr. 2020 à 19:26
12 févr. 2020 à 19:26
Re,
j'ai bien modifié la ligne de la code, merci
voici le lien vers le fichier " compteur" , j'ai y ajouté à la colonne A l'alphabet correspondant à chaque machine
https://mon-partage.fr/f/sbNL8Yj5/
merci encore
bien cordialement
j'ai bien modifié la ligne de la code, merci
voici le lien vers le fichier " compteur" , j'ai y ajouté à la colonne A l'alphabet correspondant à chaque machine
https://mon-partage.fr/f/sbNL8Yj5/
merci encore
bien cordialement
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
>
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
12 févr. 2020 à 22:59
12 févr. 2020 à 22:59
je ne comprends pas le lien entre les lettres et les machines:
dans le fichier production, je vois
F TSUGAMI le 12/2
mais I TSUGAMI le 6/2
je pensais que la même lettre était toujours liée à la même machine.
dans le fichier production, je vois
F TSUGAMI le 12/2
mais I TSUGAMI le 6/2
je pensais que la même lettre était toujours liée à la même machine.
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
2
13 févr. 2020 à 07:39
13 févr. 2020 à 07:39
Bonjour,
ce document du réseau est utilisé par plusieurs personnes
il est altéré depuis le 6/2, j'ai rétabli l'ordre des lettres des feuilles de 6/2 jusqu'à 12/6
maintenant l'ordre est le même dans toutes les feuilles
voila le lien
https://mon-partage.fr/f/n9eN0vB1/
merci beaucoup
bien cordialement
ce document du réseau est utilisé par plusieurs personnes
il est altéré depuis le 6/2, j'ai rétabli l'ordre des lettres des feuilles de 6/2 jusqu'à 12/6
maintenant l'ordre est le même dans toutes les feuilles
voila le lien
https://mon-partage.fr/f/n9eN0vB1/
merci beaucoup
bien cordialement
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
13 févr. 2020 à 08:48
13 févr. 2020 à 08:48
il me semble que les machines n'ont pas les mêmes lettres dans les fichiers production et compteur.
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
2
13 févr. 2020 à 09:06
13 févr. 2020 à 09:06
Rebonjour,
désolée j'ai oublié de changer la liste des lettres dans "compteur"
il s'agit maintenant de la même liste dans les deux fichiers
lien vers "compteur
https://mon-partage.fr/f/T7Y7NRQl/
merci encore
bien cordialement
désolée j'ai oublié de changer la liste des lettres dans "compteur"
il s'agit maintenant de la même liste dans les deux fichiers
lien vers "compteur
https://mon-partage.fr/f/T7Y7NRQl/
merci encore
bien cordialement
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
14 févr. 2020 à 10:19
14 févr. 2020 à 10:19
ceci devrait chercher les bonnes lignes, en tenant compte des lettres des machines:
Option Explicit Sub MettreAjour() Dim wbR As Workbook, f As Worksheet, tablo, tabloM, destination As Range Dim nomF As String, nMois As Integer, i As Integer, hrtravmois(12) As Integer, hrtravjour As Integer Dim nmachines As Integer, lettresdest, dest As Worksheet, lettressrc, source As Range, pmachine As Integer Dim idest As Integer, posmachine As Integer nomF = "production.xlsm" On Error Resume Next Set wbR = Workbooks(nomF) If Err.Number > 0 Then MsgBox "Le classeur ''production'' doit être ouvert;", 16 Exit Sub End If Set dest = ActiveSheet Set destination = dest.Range("C7:N19") destination.ClearContents tablo = destination nmachines = UBound(tablo, 1) lettresdest = destination.Offset(0, 1 - destination.Column).Resize(, 1) For i = 1 To 12 hrtravmois(i) = 0 Next i For Each f In wbR.Worksheets If IsDate(f.Name) Then If Year(CDate(f.Name)) = ActiveSheet.Range("A5") Then nMois = Month(CDate(f.Name)) hrtravjour = f.[R22] hrtravmois(nMois) = hrtravmois(nMois) + hrtravjour Set source = f.Range("AA9:AA21") tabloM = source lettressrc = source.Offset(0, 1 - source.Column).Resize(, 1) For i = 1 To UBound(tabloM, 1) posmachine = 0 For idest = 1 To nmachines If lettressrc(i, 1) = lettresdest(idest, 1) Then posmachine = idest Exit For End If Next idest If posmachine > 0 Then tablo(idest, nMois) = tablo(idest, nMois) + (100 - tabloM(i, 1)) / 100 * hrtravjour End If Next i End If End If Next f For i = 1 To UBound(tablo, 1) For nMois = 1 To 12 If hrtravmois(nMois) <> 0 And tablo(i, nMois) <> 0 Then tablo(i, nMois) = tablo(i, nMois) / hrtravmois(nMois) Else tablo(i, nMois) = "" End If Next nMois Next i destination = tablo End Sub
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
2
>
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
5 mars 2020 à 19:31
5 mars 2020 à 19:31
Bonjour yg_be
une rupture d'activité imprévue et me voilà de retour
tout d'abord merci beaucoup de votre solution!
j'ai rencontré un problème bizarre: j'ai ouvré le fichier production.xlsm puis j'ai activé la macro MettreAjour
alors j'ai obtienu un message d'erreur "Le classeur ''production'' doit être ouvert;" alors qu'il est déjà ouvert et se trouve dans le même répertoire que le fichier à macro
mais j'ai remarqué que dans l'explorateur VBA le classeur "production" n'existe pas
alors qu'auparavant l'explorateur affiche la totalité des fichiers ouverts
connaissez vous la cause de ce problème
merci encore
bien cordialement
une rupture d'activité imprévue et me voilà de retour
tout d'abord merci beaucoup de votre solution!
j'ai rencontré un problème bizarre: j'ai ouvré le fichier production.xlsm puis j'ai activé la macro MettreAjour
alors j'ai obtienu un message d'erreur "Le classeur ''production'' doit être ouvert;" alors qu'il est déjà ouvert et se trouve dans le même répertoire que le fichier à macro
mais j'ai remarqué que dans l'explorateur VBA le classeur "production" n'existe pas
alors qu'auparavant l'explorateur affiche la totalité des fichiers ouverts
connaissez vous la cause de ce problème
merci encore
bien cordialement
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
>
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
5 mars 2020 à 22:49
5 mars 2020 à 22:49
bonjour, le classeur production est bien un xlsm? je ne pense pas que ce soit nécessaire, mais c'est ce que la macro vérifie.
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
2
>
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
10 mars 2020 à 16:14
10 mars 2020 à 16:14
Bonjour,
oui son extension est bien .xlsm j'ai vérifié cela et c'est pourquoi je ne comprends pas d'ou vient ce message d'erreur
les deux fichiers ci joint
production:
https://mon-partage.fr/f/q8thpP93/
compteur:
https://mon-partage.fr/f/TkKQMMVu/
merci beaucoup
bien cordialement
oui son extension est bien .xlsm j'ai vérifié cela et c'est pourquoi je ne comprends pas d'ou vient ce message d'erreur
les deux fichiers ci joint
production:
https://mon-partage.fr/f/q8thpP93/
compteur:
https://mon-partage.fr/f/TkKQMMVu/
merci beaucoup
bien cordialement
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
>
safach
Messages postés
252
Date d'inscription
jeudi 27 août 2015
Statut
Membre
Dernière intervention
13 mars 2021
10 mars 2020 à 16:27
10 mars 2020 à 16:27
chez moi, tout fonctionne, à condition que le fichier production soit bien ouvert, pas en attente d'une réponse à un message.
12 févr. 2020 à 16:19
j'ai bien changé les deux lignes de la macro et ça calcule de nouveau les pourcentages d'arrêt mais j'espère que le programme trouve la bonne ligne de chaque machine c'est plus pratique au cas ou l'ordre des machines change non intentionnellement
car pour le moment j'ai en janvier une grande pourcentage d'arrêt qui me semble illogique
merci beaucoup de votre aide
lien du fichier compteur
https://mon-partage.fr/f/2KKqo5tY/
bien cordialement
Modifié le 12 févr. 2020 à 17:59
quelle valeur te semble-t'elle illogique?
dans le fichier production, j'ai vu que la machine SB2 a un rendement de 62700% le 22 janvier.
pour retrouver la bonne ligne de chaque machine, j'avais proposé de rajouter dans une colonne du fichier compteur la lettre symbole de chaque machine. n'est-ce pas possible?