VBA Excel: création de classeurs par feuille: ajustemt de code
Résolu/Fermé
A voir également:
- VBA Excel: création de classeurs par feuille: ajustemt de code
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
9 mars 2015 à 14:12
9 mars 2015 à 14:12
Avec l'index de la feuille:
Sub Macro2() Dim feuille For Each feuille In ActiveWorkbook.Sheets If feuille.Index > 3 Then feuille.Copy With ActiveWorkbook .Title = feuille.Name .Subject = feuille.Name .SaveAs Filename:=feuille.Name + ".xlsx" End With End If Next End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
9 mars 2015 à 07:59
9 mars 2015 à 07:59
Bonjour,
Dim i As Integer For i = 3 To Worksheets.Count 'nbre de feuilles
Bonjour,
merci pour la réponse, mais lorsque j'ajoute vos lignes en début de code:
il me créé autant de fichiers que de feuilles et en ajoute même une autre, ce qui entraîne un message d'erreur en surlignant la ligne
Comment faire?
merci pour la réponse, mais lorsque j'ajoute vos lignes en début de code:
Sub Macro2()
Dim i As Integer
For i = 2 To Worksheets.Count
For Each feuille In ActiveWorkbook.Sheets
feuille.Copy
With ActiveWorkbook
.Title = feuille.Name
.Subject = feuille.Name
.SaveAs Filename:=feuille.Name + ".xlsx"
End With
Next
Next i
End Sub
il me créé autant de fichiers que de feuilles et en ajoute même une autre, ce qui entraîne un message d'erreur en surlignant la ligne
.SaveAs Filename:=feuille.Name + ".xlsx"
Comment faire?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
9 mars 2015 à 10:46
9 mars 2015 à 10:46
J'ai répondu un peu vite ce matin.
Voici le code:
Voici le code:
Sub Macro2() Dim feuille For Each feuille In ActiveWorkbook.Sheets If feuille.Name > "Feuil3" Then feuille.Copy With ActiveWorkbook .Title = feuille.Name .Subject = feuille.Name .SaveAs Filename:=feuille.Name + ".xlsx" End With End If Next End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
9 mars 2015 à 10:57
9 mars 2015 à 10:57
Bonjour Le Pivert,
Le souci ici est que cette question : Quels ajustements apporter à ce code pour qu'il ne crée de classeur qu'à partir de la troisième feuille? est vraiment incomplète.
Le code que tu donnes ne fonctionne pas correctement si j'ai des feuilles nommées "acrobate", "bazar"...
Il faut vraiment qu'Audrey, si elle souhaite "évincer" des feuilles de son code, nous :
- liste les noms des feuilles à "évincer"
- dise combien de feuilles sont à traiter..
En effet, si son classeur contient 5 feuilles nommées Feuil1, Feuil2, Feuil3, Feuil4 et Feuil5, le code ne sera pas le même que si son classeur contient 15 feuilles nommées Feuil1, Feuil2, Feuil3, janvier, février,..., décembre.
Le souci ici est que cette question : Quels ajustements apporter à ce code pour qu'il ne crée de classeur qu'à partir de la troisième feuille? est vraiment incomplète.
Le code que tu donnes ne fonctionne pas correctement si j'ai des feuilles nommées "acrobate", "bazar"...
Il faut vraiment qu'Audrey, si elle souhaite "évincer" des feuilles de son code, nous :
- liste les noms des feuilles à "évincer"
- dise combien de feuilles sont à traiter..
En effet, si son classeur contient 5 feuilles nommées Feuil1, Feuil2, Feuil3, Feuil4 et Feuil5, le code ne sera pas le même que si son classeur contient 15 feuilles nommées Feuil1, Feuil2, Feuil3, janvier, février,..., décembre.
Rebonjour,
Et merci à vous deux. Après avoir testé le nouveau code, il s'avère qu'il crée des fichiers pour chacune des feuilles sans tenir compte de leur positionnement.
Mon souhait serait d'obtenir un code universel, autrement dit utilisable sur n'importe quel classeur, quel que soit le nom et le nombre de feuilles. En gros, dire: créer un classeur pour toutes les feuilles comprises entre la troisième et la dernière.
Merci encore!
Et merci à vous deux. Après avoir testé le nouveau code, il s'avère qu'il crée des fichiers pour chacune des feuilles sans tenir compte de leur positionnement.
Mon souhait serait d'obtenir un code universel, autrement dit utilisable sur n'importe quel classeur, quel que soit le nom et le nombre de feuilles. En gros, dire: créer un classeur pour toutes les feuilles comprises entre la troisième et la dernière.
Merci encore!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
>
Audrey
9 mars 2015 à 14:46
9 mars 2015 à 14:46
Le problème est le suivant :
les feuilles comprises entre la troisième et la dernière.
- Dans l'ordre de leur positionnement dans le classeur?
- Dans l'ordre de leur index? Feuil1, Feuil2, Feuil3...
Donc, peux tu définir : comprises entre la troisième et la dernière
les feuilles comprises entre la troisième et la dernière.
- Dans l'ordre de leur positionnement dans le classeur?
- Dans l'ordre de leur index? Feuil1, Feuil2, Feuil3...
Donc, peux tu définir : comprises entre la troisième et la dernière
9 mars 2015 à 14:23
Un grand merci pour votre aide!!
9 mars 2015 à 14:32
Merci encore!
9 mars 2015 à 14:48
9 mars 2015 à 14:49
Merci encore aux contributeurs!
9 mars 2015 à 15:02