Probleme de boucle sur ma VBA

Bonjour à tous, je débute en VBA et aurais besoin de petit coup de pouce.

Je souhaiterais que ma macro présente sur un tableur Excel vierge (comprenant les macros) ouvre tous les fichiers Excel présent dans un même dossier, copie la même colonne pour chaque fichier ouvert, la colle dans mon tableur vierge les unes à la suite des autres (pour avoir les données dans les colonnes les unes à la suite des autres) puis referme tous les fichiers Excel du dossier.

1er problème rencontré, quand je fais pas à pas sur ma macro il me met un message d'erreur lors de l'ouverture des fichiers Excel "erreur d'exécution 1004, fichier introuvable" alors que le chemin d'accès est exact.

2eme problème, lors de la fermeture des fichiers il me met un message pour enregistrer ou non mes fichiers Excel (je voudrais ne pas les enregistrer)

3eme problème, je ne suis pas sûr que ma macro soit exacte pour déplacer les informations dans les colonnes les unes à la suite des autres.

Voila ma macro:

Sub TEST1()

'

' TEST3 Macro

'

' Touche de raccourci du clavier: Ctrl+Shift+E

'

'Effacement de la feuille

' -----------------------------

Sheets("Feuil1").Select

Cells.Select

Range("A89").Activate

Selection.Delete Shift:=xlUp

'

'Mettre en place la colonne désignation

' -----------------------------

Sheets("Feuil2").Select

Columns("A:A").Select

Range("A211").Activate

Selection.Copy

Sheets("Feuil1").Select

Columns("A:A").Select

Range("A109").Activate

Selection.Insert Shift:=xlToRight

Columns("B:B").Select

Range("B109").Activate

Application.CutCopyMode = False

Selection.Delete Shift:=xlToLeft

' Parcours de tous les fichiers

' -----------------------------

ChDir "C:\Users\BCI-TRADI002\Desktop\ClasseurRegional"

ClasseurRegional = Dir("C:\Users\BCI-TRADI002\Desktop\ClasseurRegional\*.xlsx")

While Len(ClasseurRegional) > 0

Workbooks.Open ClasseurRegional

'Copier

Sheets("Nomencl.").Select

ActiveWindow.SmallScroll Down:=-24

ActiveSheet.Range("$A$1:$A$544").AutoFilter Field:=1

Range("C19:C527").Select

Selection.Copy

'Coller

Workbooks("Recap.xlsm").Activate

Columns("B:B").Select

Selection.Insert Shift:=xlToRight

Workbooks(ClasseurRegional).Close

Debug.Print "C:\Users\BCI-TRADI002\Desktop\ClasseurRegional\*.xlsx" & ClasseurRegional

ClasseurRegional = Dir

Wend

' Fin des travaux

' ---------------

Columns("A:A").Replace ".xlsx", ""

LigneTotal = ActiveSheet.UsedRange.Rows.Count + 1

Range("B" & LigneTotal) = "TOTAL :"

Range("A" & LigneTotal & ":C" & LigneTotal).Interior.Color = JaunePale

Range("A" & LigneTotal & ":C" & LigneTotal).Font.Bold = True

Range("C" & LigneTotal).FormulaLocal = "=Somme(C2:C" & LigneTotal - 1 & ")"

Cells.EntireColumn.AutoFit

Range("A1").Select

End Sub

macro

Bonsoir,

problème 1 : ce n'est pas le chemin qui est en cause, c'est les fichiers... vérifiez l'extension de ces derniers, ils sont peut être en XLS et non pas XSLX, ou bien ils sont en XLSM au lieu de XLSX...

problème 2 : l'instruction pour "zapper" les messages de confirmation : Application.DisplayAlert = False

= True pour les rétablir...

problème 3 : en effet votre code est "lourd" en "Select" instruction que certains vous diront qu'elle est à bannir au niveau VBA, en effet un Select sert à sélectionner une cellule sur une feuille mais souvent dans un code on a pas besoin de la sélectionner car il n'y a pas d'interaction avec l'utilisateur !...

Donc :

Sheets("Feuil1").Select
 Cells.Select
 Range("A89").Activate
 Selection.Delete Shift:=xlUp

peut être remplacé par :

Sheets("Feuil1").Cells.Delete Shift:=xlUp

Après je n'ai pas regardé le reste, sans fichier...

@ bientôt

LouReeD

Mon tableur excel vierge est en "feuille de calcul microsoft excel prenant en charge les macro"s et mes différents tableurs excels (la ou je vais chercher les infos) sont bien en "feuille de calcul microsoft excel (.xlsx)".

Faut il que tout mes tableurs excels soit en "feuille de calcul microsoft excel prenant en charge les macros"?

De plus pour créer les différents tableurs excels (la ou je vais chercher les infos) viennent d'un tableur "modéle excel".

Merci de vos réponses

Bonsoir,

Après je n'ai pas regardé le reste, sans fichier...

@ bientôt

LouReeD

Rechercher des sujets similaires à "probleme boucle vba"