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

Consolidation fichier avec condition

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 !

samimi94

XLDnaute Occasionnel
Bonjour,

Encore moi, avec une petite question 🙂
J'ai trouvé sur le Web une macro (désolée je ne sais plus quel en est l'auteur ni la source car le nom n'est pas indiqué dans code VBA) mais qui me sert assez souvent pour consolider certains fichiers, donc avant tout merci à son auteur s'il se reconnait.

Alors pour en revenir à ma question.
Le code suivant (de mon inconnu) permet de récupérer toutes les lignes de tous les fichiers XLS se trouvant dans un même répertoire pour les consolider et les mettre dans un seul fichier :

Code:
Sub Consolidation()
Dim Temp As String
Dim Ligne As Long
Temp = Dir(ActiveWorkbook.Path & "\*.xls")
Application.DisplayAlerts = False
Do While Temp <> ""
If Temp <> "Consolider fichiers.xls" Then
Workbooks.Open ActiveWorkbook.Path & "\" & Temp
Workbooks(Temp).Sheets(1).Range("A1").CurrentRegion.Copy
Workbooks("Consolider fichiers.xls").Sheets(1).Activate
Ligne = Sheets(1).Range("A65536").End(xlUp).Row + 1
Range("A" & CStr(Ligne)).Select
ActiveSheet.Paste
Workbooks(Temp).Close
End If
Temp = Dir
Loop
Range("A1").Select
Application.DisplayAlerts = True
End Sub

Je souhaiterai savoir s'il est possible d'insérer un code à cette macro afin que lors de son exécution il récupère bien tous les fichiers XLS sauf ceux qui commencent par un nom de fichier Toto.....

Quoiqu'il en soit ce bout de code est super et me dépanne bien.

Par avance, merci et bon WE.

Samimi.
 
Re : Consolidation fichier avec condition

Bonjour Samimi, le forum,

Je pense qu'en changeant la ligne:

Code:
If Temp <> "Consolider fichiers.xls" Then

Par celle-ci

Code:
If Temp <> "Consolider fichiers.xls" AND ucase(Temps) Not Like "TOTO*" Then

Cela devrait le faire.

UCASE(Temps)= Mise en majuscule du nom de fichier pour comparaison
Not Like "TOTO*" -> Ne commence pas par "TOTO"

A+++
[Edition] correction de Or par AND sur les précieux conseils de Skoobi.
 
Dernière modification par un modérateur:
Re : Consolidation fichier avec condition

Bonjour samimi94,

ajoutes ceci à la condition:

Code:
If temp <> "Consolider fichiers.xls" [COLOR=Blue][B]And Left(temp, 4) <> "Toto" [/B][/COLOR]Then
Edit: salut Ges 🙂

Au fait, dans la condition, je verrais plutôt And et non Or.
 
Dernière édition:
Re : Consolidation fichier avec condition

Hello Skoobi🙂

Sans doute as-tu raison, il me faut toujours faire des essais avant de déterminer si c'est Or ou And. Je suis d'une super logique "FLOUE" doublée d'une FLEMME😉 à tout casser.

A++ L'ami qui veille😀
 
Re : Consolidation fichier avec condition

Re-bonjour le forum, Hasco, Scoobi,

Je n'ai qu'un mot à dire à votre sujet : EPOUSTOUFLANT

Ca fonctionne à merveille, c'est exactement ce que je voulais.
Merci beaucoup, ça va m'être d'une sacré practicité.

Bon WE à tous.

Samimi 🙂
 
Dernière édition:
Re : Consolidation fichier avec condition

Hello Skoobi🙂

Sans doute as-tu raison, il me faut toujours faire des essais avant de déterminer si c'est Or ou And. Je suis d'une super logique "FLOUE" doublée d'une FLEMME😉 à tout casser.

A++ L'ami qui veille😀

Re,

Code:
If Hasco Like "FL* Or Skoobi Like "FL*" Then sieste = True

hihi 😀😛
 
- 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
5
Affichages
839
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
578
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…