Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

simplifier une macro

  • Initiateur de la discussion Initiateur de la discussion creolia
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

creolia

XLDnaute Impliqué
Bonsoir

j'aurais besoin d'un petit coup de pouce j'ai un classseur qui compte 71 onglet

tous nommer de façon suivant

FORMATION1;FORMATION2;FORMATION3..........jusqu'a FORMATION71


J'utilise une macro qui me permet de copier dans l'onglet Accueil les meme colonne de chaque onglet sous la meme condition c'est a dire

SI Collone J > 720 copier les collone J B C D dans l'onglet Accueil



pour y arriver j'ai copier cette macro


Code:
Sub ALARME_FORMATION2()
'------------------------------

 Sheets("FORMATION2").Select
    Range("A5").Select
    
'------------------------------
        Dim NBLigne As Integer
        Dim derLig As Long
        For NBLigne = 5 To Sheets("FORMATION2").Range("B65536").End(xlUp).Row
        
        
            derLig = Sheets("Accueil").Range("L600").End(xlUp).Row + 1
            
            'FORMATION1
            If Cells(NBLigne, 10) < 720 Then
                Sheets("Accueil").Range("L" & derLig).Value = Range(Cells(NBLigne, 2), Cells(NBLigne, 2)).Value 'nom
                Sheets("Accueil").Range("M" & derLig).Value = Range(Cells(NBLigne, 3), Cells(NBLigne, 3)).Value 'prenom
                Sheets("Accueil").Range("N" & derLig).Value = Range(Cells(NBLigne, 4), Cells(NBLigne, 4)).Value 'service
                Sheets("Accueil").Range("K" & derLig).Value = Range(Cells(NBLigne, 11), Cells(NBLigne, 11)).Value 'NB jour restant
                Sheets("Accueil").Range("O" & derLig).Value = Range(Cells(NBLigne, 10), Cells(NBLigne, 10)).Value 'formation
            End If
            
            
            
            'fin de la condition
        Next

End Sub

en 71 fois c'est à dire autant d'onglet que de macro quand il se lance donc il prend un peut beaucoup de temps

je voulais savoir est t'il possible de rendre cette macro un peu plus rapide

j'ai fais un petit fichier mettant en oeuvre ma macro

merci pour votre aide à bientot
 

Pièces jointes

Re : simplifier une macro

Bonsoir à tous, Creolia,

Creolia bien de commencer un nouveau fil, mais réponds aux autres !

Tu as demandé de l'aide sur les espaces des lignes des ListView, et tu n'as pas répondu, ni à Gilbert, ni à moi-même, on attend toujours si l'une ou l'autre solution te convient !

Attention me fâche pas 😀
 
Re : simplifier une macro

merci de me le rappeler hulk mais il me semple vous avoir répondu et remercier

donc je me permet de poster une autre question

sa fais déjà 2 fois que tu te plein que je te répond pas alors c'est le cas bref

sur ceux d'avance merci pour tout ce qui m'aideront et tous ce qui mon aider comme hulk

à bientot
 
Re : simplifier une macro

Hello,

Il ne suffit pas de répondre merci !

Mais tu peux aussi partager tes solutions et dire au gens qui te dépannent que oui ou non la solution te convient ou pas.

Et surtout de la même manière que si soignesement tu déposes tes fils, tu devrais déposer ta solution !

Dans le fil des espaces entre le lignes, tu n'as rien dit à part merci pour l'autre post, celui des couleurs.

Bref je ne suis pas là pour faire la police.

C'est la deuxième fois que je te fais une remarque oui c'est vrai, et c'est la dernière car je ne compte plus t'aider.

Bonne fin de journée !
 
Re : simplifier une macro

bonjour Creola,Hulk
pour bien fonctionner,ce forum doit être fait de calme et sérénité
pour faire des reproches on peut envoyer un message privé
ma contribution en pièce jointe
à bientôt
rmq:je ne suis pas un sermonneur
 

Pièces jointes

Re : simplifier une macro

Bonjour bebere

merci pour ton aide je teste cela et je te tiens au courant à bientot



Hulk tu sais comme ont dit si bien ici aider n'est pas une obligation même si j'en conviens tu ma bien aider jusqu'ici

donc si tu ne veut plus aider c'est pas grave c'est ton droit le plus légitime bref c'est pas le sujet et il conviens de conclure la dessus

merci tous de même pour l'aide apporter
 
Re : simplifier une macro

re bonjour Bebere ta solution je l'ai adopter il est m'évite d'avoir 71 macro mais je dois noter un seul bemol

sais toujours aussi long mais peut être ya pas d'autre solution

et si je peut abuser ton temps j'ai pas tout comprisa cette partis du code
Code:
Sub VersAcceuil(Tbl As Variant)
    Dim C As Integer, Li As Integer
    
    With Sheets("Accueil")
        Li = .Range("A600").End(xlUp).Row + 1
        For C = 1 To UBound(Tbl, 2)
            .Cells(Li, C) = Tbl(1, C)
        Next C
    End With
End Sub

autrement c'est genial merci à toi

l
 
Re : simplifier une macro

bonjour Creolia
le code de module1 2ème sub met tbl dans acceuil,à la1ère ligne vide
dans module2 tu as un autre code(commandbutton2 dans acceuil)
qui rempli d'abord tbl,emploi de redim preserve(colonnes(feuilles) en lignes(tbl),pour pouvoir ajouter)
ensuite le met dans acceuil ,emploi de transpose et resize
certainement plus rapide
à bientôt
 

Pièces jointes

Re : simplifier une macro

bonjour bebere et merci pour tout je teste et je te tien au courant désoler de répondre aussi tard mais de gros soucis d matériel je suis reconnaissant de ton aide a bientôt
 
Re : simplifier une macro

Re bonsoir bebere et tous le forum

bebere j'ai tester ton code et je doit dire un truc hallucinant je suis passer de 40 seconde de calcule à même pas 1 seconde rapide efficace cour génial merci énormément à bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
197
Réponses
4
Affichages
459
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…