Lancer une fonction à intervalle régulier
Résolu/Fermé
A voir également:
- Lancer une fonction à intervalle régulier
- Intervalle excel - Forum Programmation
- Comment taper les intervalles dans excel - Forum Excel
- Excel intervalle entre 2 valeurs ✓ - Forum Excel
- Fonction si excel plusieurs conditions avec intervalle ✓ - Forum Bureautique
- Intervalle date excel ✓ - Forum Excel
4 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
16 juil. 2012 à 12:17
16 juil. 2012 à 12:17
Bonjour,
on time sert à lancer un sub, pas une fonction.
Il faudrait peut-être remettre xlCalculationAutomatic et Application.ScreenUpdating avant de quitter...
Application.Volatile n'est utile que si tu désires ré-évaluer la fonction alors que ses antécédents n'ont pas changés. Pas sur que ce soit utilise ici.
eric
on time sert à lancer un sub, pas une fonction.
If Range(b & c).Value = "" Then Exit Function
Il faudrait peut-être remettre xlCalculationAutomatic et Application.ScreenUpdating avant de quitter...
Application.Volatile n'est utile que si tu désires ré-évaluer la fonction alors que ses antécédents n'ont pas changés. Pas sur que ce soit utilise ici.
eric
Donc mettre ces deux lignes avant de faire letest de sortie de la fonction?
Désolé de la lenteur de la réponse
Désolé de la lenteur de la réponse
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 16/07/2012 à 13:30
Modifié par eriiic le 16/07/2012 à 13:30
oui
et supprimer le .volatile à mon avis inutile et qui ralentira pour rien.
eric
et supprimer le .volatile à mon avis inutile et qui ralentira pour rien.
eric
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
16 juil. 2012 à 13:42
16 juil. 2012 à 13:42
Bonjour Clem, Eriic,
Ta fonction me parait bien compliquée et lente avec tous ces select même avec l'écran figé...
petite question avant de te proposer une bidouille: dans ta plage sous la cellule de départ, il y a t il une ou des cellules vides d'intercalées qui stopperait le comptage?
je pars danS un 1/4 d'heure mais je pense que notre Eric national voit ce que je veux dire
attention "name" est un mot réservé vba: risque d'erreur ou d'ambiguiité
Ta fonction me parait bien compliquée et lente avec tous ces select même avec l'écran figé...
petite question avant de te proposer une bidouille: dans ta plage sous la cellule de départ, il y a t il une ou des cellules vides d'intercalées qui stopperait le comptage?
je pars danS un 1/4 d'heure mais je pense que notre Eric national voit ce que je veux dire
attention "name" est un mot réservé vba: risque d'erreur ou d'ambiguiité
Non en fait j'ai deux tableaux distincts correspondant à deux machines, mais je traites plusieurs usines donc ces deux machines sont dans la meme usine, donc sur la meme feuille.
Donc une cellule vide marque la séparation entre les deux machines, et donc l'arret voulu du comptage
Donc une cellule vide marque la séparation entre les deux machines, et donc l'arret voulu du comptage
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
16 juil. 2012 à 13:51
16 juil. 2012 à 13:51
Donc, dans le tableau d'une machine et d'une seule, il n'y a pas de trous ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
16 juil. 2012 à 13:53
16 juil. 2012 à 13:53
OK, je propose un truc vite fait
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 16/07/2012 à 14:12
Modifié par michel_m le 16/07/2012 à 14:12
si j'ai pigé ta demande (pas de trous dans les cellules d'une machine) pour 1 machine
tu n'as besoin de screenupdating, ni, à mon avis, de volatile et de calculation manual
Excuses moi, j'y vas
edit: faute de frappe j'avais écris Ccol au lieu de Col (parkinson ?) :o)
Function compter_nom(nom As String, cellule As Range) As Integer Dim Lig As Integer, Col As Integer, Derlig As Integer Col = cellule.Column Lig = cellule.Row Derlig = Cells(Lig, Col).End(xlDown).Row compter_nom = Application.CountIf(Range(Cells(Lig, Col), Cells(Derlig, Col)), nom) End Function
tu n'as besoin de screenupdating, ni, à mon avis, de volatile et de calculation manual
Excuses moi, j'y vas
edit: faute de frappe j'avais écris Ccol au lieu de Col (parkinson ?) :o)