Réduire code VBA
Résolu/Fermé
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
-
Modifié le 25 nov. 2019 à 16:26
mdlrt44 Messages postés 25 Date d'inscription jeudi 3 octobre 2019 Statut Membre Dernière intervention 28 novembre 2019 - 28 nov. 2019 à 16:40
mdlrt44 Messages postés 25 Date d'inscription jeudi 3 octobre 2019 Statut Membre Dernière intervention 28 novembre 2019 - 28 nov. 2019 à 16:40
A voir également:
- Réduire code VBA
- Comment réduire la taille d'un fichier - Guide
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Comment reduire la taille d'une photo - Guide
10 réponses
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
28 nov. 2019 à 15:02
28 nov. 2019 à 15:02
Re
Quand tu disais très long je pensais quelques minutes, 20 s c'est encore acceptable mais tu traites combien de mois ? tous ceux de l'année ou seulement quelques uns?
Mettre une variable pour quoi ? pour boucler sur les feuilles mensuelles avec un FOR NEXT, c'est possible mais je doute que ça raccourcisse bien le temps de traitement et le problème est que tous les mois n'ont pas le même nombre de semaines donc pour placer correctement dans Récap on ne peut pas le faire de manière récursive, il faudrait rechercher la colonne avec la date du premier jour de la plage mensuelle copiée, ce qui rajouterait des lignes de code
Envoie moi ton fichier réel en message privé si tu ne veux pas le diffuser sur le forum, je regarderai le temps de traitement que ça met chez moi et j'essayerai de voir d'où ça vient
Quand tu disais très long je pensais quelques minutes, 20 s c'est encore acceptable mais tu traites combien de mois ? tous ceux de l'année ou seulement quelques uns?
Mettre une variable pour quoi ? pour boucler sur les feuilles mensuelles avec un FOR NEXT, c'est possible mais je doute que ça raccourcisse bien le temps de traitement et le problème est que tous les mois n'ont pas le même nombre de semaines donc pour placer correctement dans Récap on ne peut pas le faire de manière récursive, il faudrait rechercher la colonne avec la date du premier jour de la plage mensuelle copiée, ce qui rajouterait des lignes de code
Envoie moi ton fichier réel en message privé si tu ne veux pas le diffuser sur le forum, je regarderai le temps de traitement que ça met chez moi et j'essayerai de voir d'où ça vient
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
28 nov. 2019 à 16:21
28 nov. 2019 à 16:21
Bon ça ne vient pas de la macro mais des capacités de ton ordi je pense
Chez moi cela met une seconde !
Et il y a peu de chances que ce soient les infos enlevées qui soient la cause de cette accélération
Chez moi cela met une seconde !
Et il y a peu de chances que ce soient les infos enlevées qui soient la cause de cette accélération
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
28 nov. 2019 à 16:40
28 nov. 2019 à 16:40
Zut!... On se prend la tête sur la macro alors que ca ne vient pas de là....
Tant pis
Merci encore !!!
Tant pis
Merci encore !!!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
26 nov. 2019 à 09:17
26 nov. 2019 à 09:17
Bonjour
"lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet mois."
????
"lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet mois."
????
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
Modifié le 26 nov. 2019 à 12:20
Modifié le 26 nov. 2019 à 12:20
"lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet récap." Pardon pour l'erreur
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
26 nov. 2019 à 13:47
26 nov. 2019 à 13:47
Bonjour
Au lieu de boucler sur toutes les cellules tu peux copier toute la plage et la coller en collage spécial mise en forme uniquement ce qui donnerait par ex appartement pour janvier :
Attention la plage à copier ne doit comporter aucune cellule fusionnée
Je rappelle qu’il faut à tout prix éviter les cellules fusionnées quand on veut utiliser des macros
On peut avantageusement les remplacer par un centrage du texte sur plusieurs colonnes (sélectionner les cellules adjacentes puis Format de cellules - Alignement - Horizontal choisir Centré sur plusieurs colonnes)
Cdlmnt
Via
Au lieu de boucler sur toutes les cellules tu peux copier toute la plage et la coller en collage spécial mise en forme uniquement ce qui donnerait par ex appartement pour janvier :
Sheets("JANV").Range("D5:AB200").Select Selection.Copy Sheets("RECAP").Select Range("X5").Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False
Attention la plage à copier ne doit comporter aucune cellule fusionnée
Je rappelle qu’il faut à tout prix éviter les cellules fusionnées quand on veut utiliser des macros
On peut avantageusement les remplacer par un centrage du texte sur plusieurs colonnes (sélectionner les cellules adjacentes puis Format de cellules - Alignement - Horizontal choisir Centré sur plusieurs colonnes)
Cdlmnt
Via
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
27 nov. 2019 à 11:50
27 nov. 2019 à 11:50
Bonjour,
Merci beaucoup du retour, j'ai testé mais ça ne fonctionne pas... J'ai surement mal compris ou mal adapté la solution. Malgré que j'ai modifié les cellules fusionnées, pour être certain qu'il n'y ai aucun soucis, ça ne fonctionne pas.
Cordialement,
Merci beaucoup du retour, j'ai testé mais ça ne fonctionne pas... J'ai surement mal compris ou mal adapté la solution. Malgré que j'ai modifié les cellules fusionnées, pour être certain qu'il n'y ai aucun soucis, ça ne fonctionne pas.
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
26 nov. 2019 à 13:54
26 nov. 2019 à 13:54
1:
"Je souhaite que lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet mois."
le code que tu nous montre ne correspond pas à cette demande et ne nous sert à rien
2:
dans la feuille Recap il y a 2 lignes par tech. on b=ne retrouve que ces 2 lignes pour le tech1
3:
il y a t'il une liste des couleurs utilisées? si oui la quelle; bleu, jaune, rose....
ta demande m' apparaît ainsi comme mal préparée et sent la planche glissante ! Dis toi bien que l'on a que ce que tu écris et montre pour t'aider
"Je souhaite que lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet mois."
le code que tu nous montre ne correspond pas à cette demande et ne nous sert à rien
2:
dans la feuille Recap il y a 2 lignes par tech. on b=ne retrouve que ces 2 lignes pour le tech1
3:
il y a t'il une liste des couleurs utilisées? si oui la quelle; bleu, jaune, rose....
ta demande m' apparaît ainsi comme mal préparée et sent la planche glissante ! Dis toi bien que l'on a que ce que tu écris et montre pour t'aider
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
27 nov. 2019 à 12:10
27 nov. 2019 à 12:10
Bonjour,
1- et bien si, lorsque je met une couleur dans un onglet "mois" la couleur se renseigne automatiquement à l'ouverture de l'onglet récap, à l'utilisation c'est "immédiat". S'il existe des solutions meilleures je suis intéressé.
2- Je ne suis pas sur d'avoir bien compris quel est le problème. Mais concernant le fait qu'il y ai 2 ligne, la première correspond au nom du Tech la deuxième ligne la localisation.
3- Oui et non, des couleurs vont être récurrentes mais il risquent d'y en avoir d'autres. De plus ce ne sont pas que des "CoulorIndex".
J'ai bien conscience que vous avez uniquement les informations que je vous donne. Je pensais avoir donner suffisamment d'informations. Je n'ai, par contre, pas forcément conscience des informations qui peuvnt être nécessaire pour proposer des solutions différentes.
Cordialement,
1- et bien si, lorsque je met une couleur dans un onglet "mois" la couleur se renseigne automatiquement à l'ouverture de l'onglet récap, à l'utilisation c'est "immédiat". S'il existe des solutions meilleures je suis intéressé.
2- Je ne suis pas sur d'avoir bien compris quel est le problème. Mais concernant le fait qu'il y ai 2 ligne, la première correspond au nom du Tech la deuxième ligne la localisation.
3- Oui et non, des couleurs vont être récurrentes mais il risquent d'y en avoir d'autres. De plus ce ne sont pas que des "CoulorIndex".
J'ai bien conscience que vous avez uniquement les informations que je vous donne. Je pensais avoir donner suffisamment d'informations. Je n'ai, par contre, pas forcément conscience des informations qui peuvnt être nécessaire pour proposer des solutions différentes.
Cordialement,
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
27 nov. 2019 à 13:18
27 nov. 2019 à 13:18
Bonjour
Renvoie moi ton fichier modifié et la macro que tu as faite en t'inspirant de mon dernier post et je regarderai
Cdlmnt
Renvoie moi ton fichier modifié et la macro que tu as faite en t'inspirant de mon dernier post et je regarderai
Cdlmnt
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
27 nov. 2019 à 14:26
27 nov. 2019 à 14:26
https://mon-partage.fr/f/r63Pz9cu/
Voila
Voila
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é le 27 nov. 2019 à 14:06
Modifié le 27 nov. 2019 à 14:06
Bonjour,
Décidément , ta demande est floue et change au fur et à mesure des post
Donc tiré de mon grenier, le choix d'une couleur RVB ( la + complète) d'ailleurs renvoyée quand tu choisis une couleur Excel dans les menus, (procédure que tu lanceras par une macro événementielle double clic ou clic droit de souris dans cellule voulue) En y ajoutant la localisation (mois, date ou colonne, trak), il te sera facile de transférer la couleur dans la feuille "recap" au bon endroit et immédiatement comme tu le désires
photo de la procédure
Rappel: sur les forums, on ne fait pas à la place, on aide sur une difficulté
Décidément , ta demande est floue et change au fur et à mesure des post
Donc tiré de mon grenier, le choix d'une couleur RVB ( la + complète) d'ailleurs renvoyée quand tu choisis une couleur Excel dans les menus, (procédure que tu lanceras par une macro événementielle double clic ou clic droit de souris dans cellule voulue) En y ajoutant la localisation (mois, date ou colonne, trak), il te sera facile de transférer la couleur dans la feuille "recap" au bon endroit et immédiatement comme tu le désires
photo de la procédure
Rappel: sur les forums, on ne fait pas à la place, on aide sur une difficulté
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
27 nov. 2019 à 16:48
27 nov. 2019 à 16:48
Merci, je vais voir si j'arrive à l’adapter et à obtenir ce que je veux.
Je ne pense pas que ma demande soit floue et encore moins qu'elle change au fur et à mesure, on ne doit juste pas se comprendre mais peu importe.
Je n'attend en aucun cas que l'on fasse à ma place ! Je ne suis pas un pro, j'essaye d'apprendre au fil de mes besoins, les forums me permettent de m'ouvrir à des solutions que je ne pensais même pas possible. Visiblement ma demande/mon post vous déplais depuis le début, mais il n'y a aucun problème, vous n'êtes pas obligé d'y répondre si il y a un quelque chose qui vous dérange, je ne le prendrais pas mal.
Cordialement,
Je ne pense pas que ma demande soit floue et encore moins qu'elle change au fur et à mesure, on ne doit juste pas se comprendre mais peu importe.
Je n'attend en aucun cas que l'on fasse à ma place ! Je ne suis pas un pro, j'essaye d'apprendre au fil de mes besoins, les forums me permettent de m'ouvrir à des solutions que je ne pensais même pas possible. Visiblement ma demande/mon post vous déplais depuis le début, mais il n'y a aucun problème, vous n'êtes pas obligé d'y répondre si il y a un quelque chose qui vous dérange, je ne le prendrais pas mal.
Cordialement,
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
27 nov. 2019 à 19:14
27 nov. 2019 à 19:14
Re
Ton fichier en retour
https://mon-partage.fr/f/gzFrRT7a/
1) il y avait des liaisons dans la feuille RECAP que j'ai supprimé
2) J'avais omis dans la macro de décomposer le Select de la Sheet et le Select de la Range
3) la macro doit être dans un module(je l'ai mise en Module 1) et pas dans le worksheet de la feuille Recap
4) Appeler la macro par le raccourci ctrl+k
L'appel par un bouton ou par la procédure événementielle de la feuille Recap fait buguer, je ne sais pas pourquoi !
Cdlmnt
Ton fichier en retour
https://mon-partage.fr/f/gzFrRT7a/
1) il y avait des liaisons dans la feuille RECAP que j'ai supprimé
2) J'avais omis dans la macro de décomposer le Select de la Sheet et le Select de la Range
3) la macro doit être dans un module(je l'ai mise en Module 1) et pas dans le worksheet de la feuille Recap
4) Appeler la macro par le raccourci ctrl+k
L'appel par un bouton ou par la procédure événementielle de la feuille Recap fait buguer, je ne sais pas pourquoi !
Cdlmnt
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
28 nov. 2019 à 13:12
28 nov. 2019 à 13:12
Bonjour,
Merci beaucoup du retour. Le seul souci c'est que, comme mon ancienne macro, lorsque j'adapte cette macro à tout mon fichier, c'est très long...
C'est la raison pour laquelle je pensais que le premier code pouvait être réduit pour que ça rame moins.
Cordialement
Merci beaucoup du retour. Le seul souci c'est que, comme mon ancienne macro, lorsque j'adapte cette macro à tout mon fichier, c'est très long...
C'est la raison pour laquelle je pensais que le premier code pouvait être réduit pour que ça rame moins.
Cordialement
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é le 28 nov. 2019 à 12:04
Modifié le 28 nov. 2019 à 12:04
Bonjour
avec un double-clic dans une cellule d'un des mois (janvier à décembre),on sélectionne la couleur RGV d'une cellule et cette couleur est copiée au jour et au track concerné en feuille "recap"
https://mon-partage.fr/f/mbPNH5UH/
attention:
-recopier la ligne 70 sur tous les mois ( la fonction VBA "find" n'aime pas les dates au format texte)
-non valable sur les lignes entre les tracks puisque valeur non spécifiée dans recap et mois !!!
avec un double-clic dans une cellule d'un des mois (janvier à décembre),on sélectionne la couleur RGV d'une cellule et cette couleur est copiée au jour et au track concerné en feuille "recap"
https://mon-partage.fr/f/mbPNH5UH/
attention:
-recopier la ligne 70 sur tous les mois ( la fonction VBA "find" n'aime pas les dates au format texte)
-non valable sur les lignes entre les tracks puisque valeur non spécifiée dans recap et mois !!!
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
28 nov. 2019 à 13:16
28 nov. 2019 à 13:16
Merci beaucoup de cette solution mais ça ne correspond pas tout à fait à ce que je cherche. Ca fonctionne très bien mais par rapport à l'utilisation du fichier ça n'est pas viable.
Cordialement,
Cordialement,
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 nov. 2019 à 13:23
28 nov. 2019 à 13:23
Pourtant
post 2
lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet récap.
ce que fait ma proposition
Adieu
post 2
lorsqu'une couleur est renseignée dans un onglet mois, cette couleur se reporte immédiatement dans la case correspondante dans l'onglet récap.
ce que fait ma proposition
Adieu
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
28 nov. 2019 à 13:35
28 nov. 2019 à 13:35
C'est la manière de sélectionner la couleur qui pose problème
Merci quand même
Merci quand même
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
28 nov. 2019 à 13:27
28 nov. 2019 à 13:27
Bonjour
C'est sans doute que ton fichier réel est bien plus étoffé et comporte des formules qui sont recalculées à chaque sélection de feuille car il n'y a pas de raison que la copie des 12 mois soit très longue
Essaie de mettre en début de macro pour passer en calcul manuel pour éviter les recalculs :
sans oublier en fin de macro pour repasser en calcul automatique
Cdlmnt
Via
C'est sans doute que ton fichier réel est bien plus étoffé et comporte des formules qui sont recalculées à chaque sélection de feuille car il n'y a pas de raison que la copie des 12 mois soit très longue
Essaie de mettre en début de macro pour passer en calcul manuel pour éviter les recalculs :
Application.Calculation = xlCalculationManual
sans oublier en fin de macro pour repasser en calcul automatique
Application.Calculation = xlCalculationAutomatic
Cdlmnt
Via
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
28 nov. 2019 à 13:38
28 nov. 2019 à 13:38
Effectivement, mon fichier final est un peu plus important et il y a déjà pas mal de macro dedans.
Je vais essayer avec ta nouvelle solution.
Merci !
Je vais essayer avec ta nouvelle solution.
Merci !
mdlrt44
Messages postés
25
Date d'inscription
jeudi 3 octobre 2019
Statut
Membre
Dernière intervention
28 novembre 2019
28 nov. 2019 à 14:34
28 nov. 2019 à 14:34
Bon bah c'est toujours très long environ 20 secondes pour que tout se "mette à jour"....
Est ce qu'il n'y aurait pas la possibilité de faire une variable pour réduire le code (j'avoue que les variables j'ai beaucoup de mal) ?
Est ce qu'il n'y aurait pas la possibilité de faire une variable pour réduire le code (j'avoue que les variables j'ai beaucoup de mal) ?
28 nov. 2019 à 15:44
Il y a tous les mois de l'année 2020 (décembre 2019 inclus)
En soit je ne pense pas que le code en lui même sera moins long, mais à l’exécution peut être ? Ou je me trompe...
https://mon-partage.fr/f/hPCG4BhB/
C'est mon fichier complet, j'ai enlevé les informations qui pouvaient être "confidentielles". Dans une zone de texte dans "récap" je t'ai mis la macro initiale que j'avais, je ne sais pas si l'une ou l'autre et mieux ou plus "adaptable".
Pour information, ça peut avoir son intérêt , il y a plusieurs utilisateurs sur ce fichier.
Merci beaucoup pour ton aide, je te laisse voir de ton côté.
Cordialement,