Ouv. fichier + boucle + inscription

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

Flop

XLDnaute Occasionnel
Bonjour à tous.. Voici "encore" mon petit problème

Il y a fichier pour chaque département et un pour chaque groupe soit pour le dép 1

Top.S - dép1-G1.xls
Top.S - dép1-G2.xls
Top.S - dép1-G3.xls

Top.S - dép2-G1.xls

c'est fichier sont dans d:\mes documents\Top.S

bien sur dép1 et un nom génerique donc je pense qu'il faut se fier au données de la colonne B.

l'objectif et d'ouvrir chaque fichier pour chaque département et chaque groupe.
si on trouve le fichier inscrire J dans la celule correspondant à ce meme dép et group et si on ne trouve pas le fichier inscrire L


comme toujours un exemple valant mieux qu'un long discours :

voici mon fichier :

PS ; j'en suis que la :

Code:
'import du fichier
Sub import_fichier()

rep = "D:\Mes Documents\"

dép = "dép"
groupe = "g1"

fichier = rep & "Top.S - " & dép & "-" & groupe & ".xls"


Workbooks.Open Filename:=fichier

End Sub
 

Pièces jointes

Re : Ouv. fichier + boucle + inscription

Salut Flop
Bonjour le post
Bonjour le Forum

Crois tu qu'avec autant d'éléments je puisse t'aider Lol
peux tu me dire à quoi cela correspond
est ce qu'il est possible de bloquer la recherche aux collonnes du groupe
je ne me rappelle pas que tu nous ais fourni un exemple du fichier d'ou les Données sont extraites je pense que les colonnes du groupe doivent si trouver Lol
si tu peux nous mettre un exemple du fichier d'ou l'on doit tirer les données (avec quelques explications)
Merci d'avance
Bonne fin de journée
 
Re : Ouv. fichier + boucle + inscription

ok ok, c'est vrai que c'était pas clair. je te rejoins la V4 avec les explications..
autre demande pour m'éviter de passer pas une autre macro .

est ce que avant de copier les éléments du fichier dans les onglets, on peut supprimer tout ce qui s'y trouve.

ex : avant de copier la plage a1 : d3 du fichier Top.S - dép1-G1.xls dans l'onglet dép1, effacer tout ce qui se trouve dans l'onglet dép1
 

Pièces jointes

Re : Ouv. fichier + boucle + inscription

Salut Flop
Bonsoir le Post
pour ce qui est d'éffacer pas de problème donc je corrige
pour ce qui est des données en colonne I arff j'ai mis dans la macro une recherche sur la ligne pour déterminer la derniere colonne utilisée (en partant de la colonne 255 vers la 1 )au cas ou il y aurait eu plus de G
donc je modifie et je poste desque possible

Bonne fin de Soirée
 
Re : Ouv. fichier + boucle + inscription

ChTi160 à dit:
re

donc si je comprends bien tu veux qu'avant de lancer le transfert ,l'ensemble des feuilles dept soit effacées

dans l'attente
Bonne fin de Soirée

oui, c'est exactement ca.. j'ai essayer mais ca marche et apres j'ai un erreur
je laisse faire les pros.. 😀
 
Re : Ouv. fichier + boucle + inscription

re
est ce que cette procèdure peut être mise en oeuvre lors de l'ouverture du fichier ?? ainsi on boucle à l'ouverture pour effacer les feuilles
une procedure qui efface les feuilles dont le nom commence par dep
Code:
Sub [COLOR=blue]Efface_Feuilles[/COLOR]()
 Dim Ws As Worksheet
 Dim MyString As String
    MyString = "dep"
Application.ScreenUpdating = False
   For Each Ws In Worksheets
     If Left(Ws.Name, 3) = MyString Then
          Ws.Cells.Clear
     End If
   Next
Application.ScreenUpdating = True
End Sub
alors dans la procèdure ThisWorkBook _Open()
Code:
Private Sub Workbook_Open()
  [COLOR=blue]Efface_Feuilles [/COLOR]
End Sub
Ps je te mets un fichier modifié,car il faut enlever des elements dans la procedure (qui ne servent plus )
Bonne fin de Soirée
 
Dernière édition:
Re : Ouv. fichier + boucle + inscription

bin pour tout de dire, ca m'arrange que ca se fasse à l'ouverture du fichier..

si je place : Efface_Feuilles dans la procédure, ca ne se déclenche que lorsque je lance la macro ?
 
Re : Ouv. fichier + boucle + inscription

ChTi160 à dit:
re
le fichier avec les modifs
Effacement des données(dans chaque feuilles) à l'ouverture voir dans ThisWorkBook_Open nettoyage de la procèdure import_fichier

Le Fichier :

Bonne fin de Soirée

c'est bon j'ai réussi à l'adapter.. par contre ?? l'effacement de feuilles ne marche que si les onglets et la collone des dép s'appelle dep, dep1, dep2..
car sur mon vrai fichier c'est des noms d'écoles qui ne ce suivent pas..
je dois mettre quoi à la place de MyString = "dep"
 
Re : Ouv. fichier + boucle + inscription

Salut Flop
bonjour le fil
arff d'ou l'intérêt dans ce genre de chose de coller au plus prêt à la réalité Lol

ben , il y a surement plusieurs solutions
Ton Classeur ne contient qu'une seule feuille qui ne doit pas être prise en compte et alors tu fais
For Each Ws In Worksheets
If Ws.Name <> "Nom de la feuille à ne pas prendre en compte" Then
Ws.Cells.Clear
End If
Next
ou plusieurs feuilles (plusieurs solutions)
For Each Ws In Worksheets
If Ws.Name <> "Nom de la feuille à ne pas prendre en compte" and Ws.Name <> " 2ème Nom de la feuille à ne pas prendre en compte" Then ' etc etc
Ws.Cells.Clear
End If
Next
ou alors tu ajoutes aux noms de tes feuilles noms d'écoles par exemple un _1
noms d'écoles_1et ainsi boucler sur ces feuilles qui terminent par un 1
MyString="1"
For Each Ws In Worksheets
If Right (Ws.Name, 1) = MyString Then
Ws.Cells.Clear
End If
Next
ou alors tu ajoutes aux noms de tes feuilles qui ne doivent pas être prises en compte par exemple un _1
noms feuille_1 et ainsi boucler sur les feuilles en excluant celles qui se terminenet par 1
MyString="1"
For Each Ws In Worksheets
If Right (Ws.Name, 1) <> MyString Then
Ws.Cells.Clear
End If
Next
en espèrant avoir répondu à ta demande
n'hésite pas
Bonne journée
 
Dernière édition:
Re : Ouv. fichier + boucle + inscription

c'est bon j'ai reussi avec ca :

Code:
For Each Ws In Worksheets
If Ws.Name <> "Nom de la feuille à ne pas prendre en compte" and Ws.Name <> " 2ème Nom de la feuille à ne pas prendre en compte" Then ' etc etc
Ws.Cells.Clear
End If
Next

Merci Jean Marie de ta patience avec mon cas !! 😀
 
- 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
Retour