Résolu Execution d'une macro excel sur plusieurs fichiers

nabjaf

Nouveau membre
Bonjour,

Avant de commencer, je precise que je suis newbie en vba. CA va peut etre eviter qu'on me balance des tomates si la reponse etait evidente :)

Je cherche à executer une macro sur un ensemble de fichiers excel.

J'ai donc un premier bout de code qui va m'ouvrir mes fichiers via une dialog box, qui me lance ma macro puis qui sauve et quitte le fichier.
Ce premier bout de code fonctionne, le voici :

Code:
Sub test()
 Const type_fichier As String = "tous fichiers, *.*"
 Dim FichierChoisi As String
 
 
  'Choisir un fichier
  FichierChoisi = Application.GetOpenFilename("Fichiers Excel, *.xlsx")
  If FichierChoisi = "" Then Exit Sub
 
  'ouvrir le fichier
  Workbooks.Open (FichierChoisi)
 
  'traitement
    
    Call V_uniques
  

  'puis à la fin fermer et enregistrer le fichier
  ActiveWorkbook.Close savechanges:=True
End Sub

Là où ça ne marche plus c'est l'execution de la macro...
Ce qu'elle fait, c'est rajouter l'autofiltre, et filtrer 3 colones
puis en copier une dans un nouvel onglet
et garder que les valeurs uniques de cette colonne du nouvel onglet.

Code:
Sub V_uniques()
'
' V_uniques Macro
'

'
    Rows("1:1").Select
    Selection.AutoFilter
    Range("BY1").Select
    ActiveSheet.Range("$A$1:$CS$101425").AutoFilter Field:=71, Criteria1:= _
        "Confirmed"
    ActiveSheet.Range("$A$1:$CS$101425").AutoFilter Field:=72, Criteria1:="=4" _
        , Operator:=xlOr, Criteria2:="=5"
    ActiveSheet.Range("$A$1:$CS$101425").AutoFilter Field:=73, Criteria1:=Array _
        ("Active", "New", "Re-Opened"), Operator:=xlFilterValues
    Range("BR1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Columns("A:A").Select
    Application.CutCopyMode = False
    ActiveSheet.Range("$A$1:$A$839").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub

Avec F8 le plantage se fait au niveau du Rows("1:1").Select avec le message Run-time error '1004': Application-defined or object-defined error


C'est pour un rendu demain au boulot...

Pour info, si j'enregistre ma macro dans chacun de mes fichiers et l'execute, ca marche.
C'est juste que j'ai +2000 fichiers...

Mille mercis !
 

drul

Obscur pro du hardware
Staff
Meilleure réponse
Salut, un peu en retard pour toi, dsl,
Mais je présume que c'est lié au fait que ta macro ne sait pas dans quel "workbook" s’exécuter ...
amha si tu rajoutes juste "activesheet." avant row(1;1), ça devrait marcher
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 939
Membres
1 586 382
Dernier membre
alejandrooo
Partager cette page
Haut