Macro longue a s'executer

steph57

XLDnaute Nouveau
Bonjour tous le monde
voila j'ai une macro qui est ralenti du fait que j'appele plusieurs petites macros les une a la suite de l'autre la macro 1 appelle la 2 ,la 2 la 3, la 3 la4,jusqu' a 20 feuilles,ce qui engendre des données en double,alors j'appelle encore une macro pour supprimer les doublons,j'aimerais que vous m'aidiez a raccourcir cette macro,en vous en remerciant beaucoup,ci joint le fichier
 

Pièces jointes

  • exemple2.xlsm
    26.5 KB · Affichages: 35
  • exemple2.xlsm
    26.5 KB · Affichages: 45
  • exemple2.xlsm
    26.5 KB · Affichages: 33

mutzik

XLDnaute Barbatruc
Re : Macro longue a s'executer

bonjour,
je crois que tu te casses la tête pour pas grand chose (au vu de ton exemple)
- au lieu de mettre jour, tu mets la date
- si tu dois effacer ton tableau, prends toutes les données de ce tableau et copie les à la suite dans une feuille 'archives'

* par la suite, avec les options de tri et de filtre d'excel, tu peux facilement retrouver tes infos

... dis nous ...
 

Pièces jointes

  • xld.xlsm
    21.1 KB · Affichages: 32
  • xld.xlsm
    21.1 KB · Affichages: 35
  • xld.xlsm
    21.1 KB · Affichages: 35
Dernière édition:

steph57

XLDnaute Nouveau
Re : Macro longue a s'executer

Merci pour ta reponse
je suis d'accord avec toi mais il faut que je garde les onglets pour differencier,en fait j'ai essayer d'adapter un probleme a la place de mes donnees et a la place du jour ce n'est pas une date en realité.
Mon reel probleme c'est que plus mon fichier va grossir plus il sera ralenti et long a s'executer
parce que j'appel une feuille je copie j'appel l'autre feuille je recopie,essaye en pas a pas tu veras.
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : Macro longue a s'executer

re,

si j'ai bien compris ta demande, tu veux que :
chaque fois que tu rajoutes une ligne en feuille1, cette ligne soit également ajoutée dans la feuille 'de ville' correspondante

donc, si c'est cela, avec le petit fichier que je t'ai concocté, un bouton ajout prendra les données (à la place de date on met jour)
et les copiera :
- à la suite dans la feuille 1
- à la suite dans la feuille de la ville, et, si elle n'existe pas, création de la feuille qui va bien
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Macro longue a s'executer

salut,

Si... tu renouvelles ton tableau, tu peux essayer cette macro (bouton dans la feuille du tableau) qui traite toutes les onglets "Ville"
Code:
Sub Ville()
  Dim Dli As Long, L As Long, Dl As Long, n As Byte
  Application.ScreenUpdating = False
  Dli = Cells(Rows.Count, 4).End(xlUp).Row
  For L = 2 To Dli
    With Sheets(Cells(L, 4).Text)
      Dl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      Cells(L, 1).Resize(1, 5).Copy .Range("A" & Dl)
    End With
  Next
  'sans doublon avec 2010
  For n = 2 To Sheets.Count 'à adapter
    With Sheets(n)
      .Range("A2:E" & .Cells(Rows.Count, 1).End(xlUp).Row).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5), _
        Header:=xlYes
    End With
  Next
  'pour éviter des actions répétitives et remettre le nouveau tableau
  Range("A2:E" & Dli + 1) = ""
End Sub
 

steph57

XLDnaute Nouveau
Re : Macro longue a s'executer

juste quelques precision j'ai fais quelques essais mais je suis perdu


Sub Ville()
Dim Dli As Long, L As Long, Dl As Long, n As Byte
Application.ScreenUpdating = False

SUR CETTE LIGNE le 4 correspond a quoi
Dli = Cells(Rows.Count, 4).End(xlUp).Row
For L = 2 To Dli
With Sheets(Cells(L, 4).Text)

SUR cette ligne le 1 sert a quoi?
Dl = .Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(L, 1).Resize(1, 5).Copy .Range("A" & Dl)
End With
Next
'sans doublon avec 2010
For n = 2 To Sheets.Count 'à adapter
With Sheets(n)
.Range("A2:E" & .Cells(Rows.Count, 1).End(xlUp).Row).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5), _
Header:=xlYes
End With
en esperant avoir une reponse,cette solution est vraiment interessante
 
Dernière édition:

Discussions similaires

Réponses
17
Affichages
813
Réponses
2
Affichages
300

Statistiques des forums

Discussions
312 803
Messages
2 092 259
Membres
105 319
dernier inscrit
Antho3514