macro pour trier des données d'un fichier excel

  • Initiateur de la discussion Initiateur de la discussion ana12
  • 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 !

ana12

XLDnaute Nouveau
Bonjour,

J'arrive pratiquement au bout de ma macro mais la dernière étape plante.
J'ai écris une macro qui permet de remplir un fichier grace à des bases de donnée provenant d'autres fichiers.
Les infos s'incrémente à la suite tant que la date est différente.
Lorsque les données correspondent à une période deja copier dans mon fichier, la macro efface les anciennes données de mon fichier pour copier les nouvelles.
Tant que la macro rajoute des dates à la suite tout va bien, lorsqu'il s'agit d'effacer les anciennes puis de coller les nouvelles cela ne fonctionne plus...
Pouvez m'aider?
voici ma macro:




Sub Auto_open()



Dim a As Variant, Nom As String

Nom = ActiveWorkbook.Name
ChDrive "C:" ' Choix du lecteur
ChDir "C:\" 'Choix du répertoire
a = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _
, "source", , True)

Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select

Dim MyRange As Range, Reponse As String
Set MyRange = Range("L2:L" & Range("L65536").End(xlUp).Row)
Reponse1 = CDate(Application.WorksheetFunction.Max(MyRange))
Reponse2 = CDate(Application.WorksheetFunction.Min(MyRange))
MsgBox "la valeur min est " & Reponse2 & " et la valeur max est " & Reponse1


Nom2 = ActiveWorkbook.Name
'dans le classeur cible je copie la zone de valeurs de A2 jusqu'à la dernière ligne
Dim nbre1 As Long
nbre1 = Range("A65536").End(xlUp)(2).Row
Range("A2:AS" & nbre1).Select
Selection.Copy

Windows(Nom).Activate
Dim k
For k = [A65536].End(xlUp).Row To 3 Step -1 'du bas en haut
If Cells(k, 12) >= CDate(Application.WorksheetFunction.Min(MyRange)) And Cells(k, 12) <= CDate(Application.WorksheetFunction.Max(MyRange)) Then Rows(k).Delete
Next
Dim nbre As Long
nbre = Range("A65536").End(xlUp)(2).Row
Range("A" & nbre).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.DisplayAlerts = False
Windows(Nom2).Close
Application.DisplayAlerts = True



Merci pour votre aide!

Ana12
 
Re : macro pour trier des données d'un fichier excel

rebonjour,

C'est bon j'ai résolu le problème, en fait j'activais plusieurs fois le meme fichier et cela me faisait planter la macro!
désolée pour le dérangement et merci pour vos réponses,

Ana12
 
- 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
3
Affichages
48
Réponses
7
Affichages
107
Réponses
4
Affichages
151
Retour