Copie de feuille excel dans un new classeur

Résolu/Fermé
calanthea Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 17 juin 2009 - 15 juin 2009 à 16:37
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 - 18 juin 2009 à 08:28
Bonjour,

J'ai un soucis. Je souhaiterais écrire une macro qui me permette de copier tous les fichiers commençant par le même nom ( ex : je veux copier tous les fichiers commençant par test) dans un nouveau classeur.

Merci de votre aide
A voir également:

9 réponses

necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
16 juin 2009 à 14:05
Bonjour calenthea,

Pourrait tu être plus précis(e)?

Le nom de tes fichiers se trouve dans une feuille?
Ou tu fait une recherche via l'explorateur?

Necro27
0
calanthea Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 14:24
Oui en fait ma macro initial découpe un fichier en différents onglet se nommant feuil1; feuil2 .....
Ensuite je coupe ses différents onglets pour aller les copier dans un nouveau classeur.
J'ai écris ma macro en lui disant tu coupes feuil1 puis tu coupes feuil2. Je souhaitais savoir si je pouvais lui dire tu coupes toutes les feuilles commençant par feuil.
0
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
16 juin 2009 à 15:01
d'accord, arrète moi si je me trompe

en faite si la feuille 1 commence par 'feuil', tu coupe 'feui1' de classeur 1
tu colle 'feuil1' dans classeur 2

C'est ce raisonnement ? j'ai besoin d'être éclairé^^

n'hésite pas a donner des détails

Necro27
0
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
16 juin 2009 à 15:21
Voila un début di moi ce que tu en pense et si tu le comprend

Sub test()

Dim var As String, var2 As String
Dim n As Integer



n = 1
For i = 1 To Sheets.Count

Sheets.Item(n).Activate
n = n + 1
var = ActiveSheet.Name
var2 = Mid(var, 1, 5)

If var2 = "feuil" Then
[...]
End If

Next i

End Sub

Necro27
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
calanthea Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 16:47
Yes c'est ça. tu prends la feuille 1 qui doit etre copier dans le classeur 1
tu prends la feuille 2 qui doit etre copier dans le classeur 2

En fait pour tous mes onglets j'ai écrit
Sub Copfichier()

Dim nom As String
nom = ActiveWorkbook.Name

Windows(nom).Activate
Sheets("feuil1").copy
Windows(nom).Activate
Sheets("feuil2").copy

End sub

En fait j'aimerais faire un raccourci en disant tu copies toutes les feuilles qui commence par feuil.
0
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
16 juin 2009 à 16:49
as-tu essayer d'adapter mon code? qui permet en faite de voir les 5 première lettres de chaque feuille existante, et ensuite dans le if tu met ton traitement
0
calanthea Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 17 juin 2009
16 juin 2009 à 16:50
je vais tester et te tiens au courant.

Merci de ton aide
0
calanthea Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 17 juin 2009
17 juin 2009 à 14:25
Bonjour,

Je viens de tester et d'adapter ta macro. ça marche :)

Merci beaucoup
0
necro27 Messages postés 160 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 11 février 2011 8
18 juin 2009 à 08:28
Bonjour,

Ok coul ^^

Pense à mettre ton statut en résolu si la solution te convient.

Bonne journée à toi

Necro27
0