Simplification de macro excel 2010 pour gagner en rapidité d'exe
Fermé
steph62880
Messages postés
13
Date d'inscription
dimanche 11 mai 2014
Statut
Membre
Dernière intervention
13 mai 2014
-
Modifié par pijaku le 12/05/2014 à 08:34
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 mai 2014 à 10:16
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 13 mai 2014 à 10:16
A voir également:
- Simplification de macro excel 2010 pour gagner en rapidité d'exe
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- .Exe - Télécharger - Divers Utilitaires
- Mise en forme conditionnelle excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
12 mai 2014 à 08:48
12 mai 2014 à 08:48
Bonjour,
Ce code fait partie d'une macro plus longue?
Je demandes parce que ça m'étonnerai que cette partie de code dure 9 minutes. Le problème doit se situer ailleurs...
Cependant, la syntaxe de cette partie peut être revue, pas forcément pour en améliorer la durée d'exécution, mais pour le rendre plus lisible.
Ce code fait partie d'une macro plus longue?
Je demandes parce que ça m'étonnerai que cette partie de code dure 9 minutes. Le problème doit se situer ailleurs...
Cependant, la syntaxe de cette partie peut être revue, pas forcément pour en améliorer la durée d'exécution, mais pour le rendre plus lisible.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
Modifié par michel_m le 12/05/2014 à 09:02
Modifié par michel_m le 12/05/2014 à 09:02
Bonjour,
Déjà, commence ta macro par
Application.Screenupdating= False qui te feras gagner pas mal de temps
un début
Pas mal mal de truc à faire aujourdhui sois patient
Salut, Frank, excuses moi je n'avais pas rafraichi
Déjà, commence ta macro par
Application.Screenupdating= False qui te feras gagner pas mal de temps
un début
Option Explicit
Option Base 1
Private T_13()
'-----
Sub remettre_a_zero()
Dim Test_b13 As Boolean, Idx As Byte
ReDim T_13(5)
Application.ScreenUpdating = False
With Sheets("feuil3")
If .Range("B3") <> "activite de sercice" And .Range("B3") <> "RECUPERATION DE MATERIEL" Then
For Idx = 1 To 5
T_13(Idx) = Choose(Idx, .Range("E2"), .Range("B9"), .Range("B12"), .Range("E7"), .Range("b3"))
Next
If .Range("B1") = Sheets("dispo").Range("a9") Then copier1 Sheets("sa")
If .Range("B1") = Sheets("dispo").Range("a10") Then copier1 Sheets("di")
If .Range("B1") = Sheets("dispo").Range("a11") Then copier1 Sheets("lu")
'.................. la suite + tard
End If
End With
End Sub
'-------
Sub copier1(feuille)
feuille.Columns(19).Insert
feuille.Range("A9").Resize(1, 5) = T_13
feuille.Range("H9") = Sheets("feuil3").Range("B5")
End Sub
Pas mal mal de truc à faire aujourdhui sois patient
Salut, Frank, excuses moi je n'avais pas rafraichi
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
Modifié par pijaku le 12/05/2014 à 09:30
Modifié par pijaku le 12/05/2014 à 09:30
Salut Michel,
Pas de souci, au contraire c'est toujours un plaisir.
Par contre, je ne comprends pas ta procédure copier1...
De ce que j'ai vu dans la macro donnée au départ, il insère les données en ligne 39, et toi, tu les insères en ligne 9 après avoir créé une nouvelle colonne... Aurais tu des infos que nous n'avons pas?
A adapter également par le demandeur :
Pas de souci, au contraire c'est toujours un plaisir.
Par contre, je ne comprends pas ta procédure copier1...
De ce que j'ai vu dans la macro donnée au départ, il insère les données en ligne 39, et toi, tu les insères en ligne 9 après avoir créé une nouvelle colonne... Aurais tu des infos que nous n'avons pas?
A adapter également par le demandeur :
With Sheets("feuil13")au lieu de
With Sheets("feuil3")dans la Sub remettre a zéro
steph62880
Messages postés
13
Date d'inscription
dimanche 11 mai 2014
Statut
Membre
Dernière intervention
13 mai 2014
12 mai 2014 à 15:31
12 mai 2014 à 15:31
D'accord Michel aucun soucis, par contre faut il que je mette la totalité des codes que tu as donner ? Faut il mettre application. Screenupdating= trie a la fin ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
12 mai 2014 à 11:10
12 mai 2014 à 11:10
OK, sur ma maquette de W j'ai utilisé feuil3 au lieu de feuil13; m^me chose pour 9 et 39.... je rectifie
Par contre, STeph
est il normal que tu envoies 2 fois dans la colonne "i"
Michel
Par contre, STeph
est il normal que tu envoies 2 fois dans la colonne "i"
If Sheets("feuil16").Range("d18") <> "" And Sheets("feuil13").Range("b3") <> "activite de sercice" And Sheets("feuil13").Range("b3") <> "recuperation de materiel" Then--
Sheets("sorties").Range("l18").Value = Sheets("feuil16").Range("d18")
End If
If Sheets("feuil16").Range("e2") <> "" And Sheets("feuil13").Range("b3") <> "activite de sercice" And Sheets("feuil13").Range("b3") <> "recuperation de materiel" Then
Sheets("sorties").Range("i2").Value = Sheets("feuil16").Range("e2")
End If,
Michel
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
12 mai 2014 à 11:16
12 mai 2014 à 11:16
re Michel,
Perso, j'avais lu L puis i...
En attente toutefois d'une réponse de l'auteur.
Perso, j'avais lu L puis i...
En attente toutefois d'une réponse de l'auteur.
steph62880
Messages postés
13
Date d'inscription
dimanche 11 mai 2014
Statut
Membre
Dernière intervention
13 mai 2014
12 mai 2014 à 15:08
12 mai 2014 à 15:08
Normalement non mais je sais qu'il envoie sur le colonne I MAIS DANS 2 feuilles différentes
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
12 mai 2014 à 16:30
12 mai 2014 à 16:30
On va pas passer des heures à recommencer des codes (et c'est le cas avec la feuille départ où je venais pour proposer la suite) parce que tu envoies des trucs faux :
alors démènes toi un peu et rapidement si tu veux qu'on t'aide
Sans rectifications exactes avant ce soir, j'abandonne le suivi; les s gras n'ont pas été mis pour faire joli
:-(
alors démènes toi un peu et rapidement si tu veux qu'on t'aide
Sans rectifications exactes avant ce soir, j'abandonne le suivi; les s gras n'ont pas été mis pour faire joli
:-(
steph62880
Messages postés
13
Date d'inscription
dimanche 11 mai 2014
Statut
Membre
Dernière intervention
13 mai 2014
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
12 mai 2014 à 16:49
12 mai 2014 à 16:49
Le soucis est que je ne souhaite pas faire n'importe quoi surtout avec sa d'où les questions que je pose Michel, je fais mon possible je travail dessus sans arrêt .
Vous me dites que je donne des choses fausse a quel niveau ?
Vous me dites que je donne des choses fausse a quel niveau ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
12 mai 2014 à 16:54
12 mai 2014 à 16:54
qui a écris ca:
Normalement non mais je sais qu'il envoie sur le colonne I MAIS DANS 2 feuilles différentes
peut-^tre est ce trop te demander de d'indiquer quelle feuille ?
et quand je marque rectification au pluriel: tu fais une vérif complère de ce que tu as marqué au besoin en te faisant aider; par ton gradé ça l'occupera
Normalement non mais je sais qu'il envoie sur le colonne I MAIS DANS 2 feuilles différentes
peut-^tre est ce trop te demander de d'indiquer quelle feuille ?
et quand je marque rectification au pluriel: tu fais une vérif complère de ce que tu as marqué au besoin en te faisant aider; par ton gradé ça l'occupera
Modifié par pijaku le 12/05/2014 à 08:58
Pourquoi avoir utilisé des majuscules et des minuscules dans tes tests :
12 mai 2014 à 15:01
12 mai 2014 à 15:04