J'ai une feuille "Données" avec environ 1000 lignes de données, en
colonne C il y a des origines : toto - tata - titi ...(20 différentes).
Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser :
- Copier la feuille "Données" dans chacune des feuilles.
- Pour chacune des feuille effacer toutes les lignes, dont la colonne C
est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!!
Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For
each" par exemple ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut Julie Je te propose ceci
Code For i = 1 to Sheets.Count Sheets(i).Select Code Next
J'espère que tu pourras en tirer profit Dis mi !!!!
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For each" par exemple ?
Merci par avance
Julie
Salut Julie
Je te propose ceci
Code
For i = 1 to Sheets.Count
Sheets(i).Select
Code
Next
J'espère que tu pourras en tirer profit
Dis mi !!!!
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en
colonne C il y a des origines : toto - tata - titi ...(20 différentes).
Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser :
- Copier la feuille "Données" dans chacune des feuilles.
- Pour chacune des feuille effacer toutes les lignes, dont la colonne C
est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!!
Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For
each" par exemple ?
Code For i = 1 to Sheets.Count Sheets(i).Select Code Next
J'espère que tu pourras en tirer profit Dis mi !!!!
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For each" par exemple ?
Merci par avance
Julie
JulieH
Bonjour et merci pour ta réponse rapide,
Je pense que c'est quelque chose comme cela que je cherchais, j'ai commencé les adaptations. Cela devrait aller.
Julie
Salut Julie Je te propose ceci
Code For i = 1 to Sheets.Count Sheets(i).Select Code Next
J'espère que tu pourras en tirer profit Dis mi !!!!
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For each" par exemple ?
Merci par avance
Julie
Bonjour et merci pour ta réponse rapide,
Je pense que c'est quelque chose comme cela que je cherchais, j'ai
commencé les adaptations. Cela devrait aller.
Julie
Salut Julie
Je te propose ceci
Code
For i = 1 to Sheets.Count
Sheets(i).Select
Code
Next
J'espère que tu pourras en tirer profit
Dis mi !!!!
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en
colonne C il y a des origines : toto - tata - titi ...(20 différentes).
Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser :
- Copier la feuille "Données" dans chacune des feuilles.
- Pour chacune des feuille effacer toutes les lignes, dont la colonne C
est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!!
Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For
each" par exemple ?
Je pense que c'est quelque chose comme cela que je cherchais, j'ai commencé les adaptations. Cela devrait aller.
Julie
Salut Julie Je te propose ceci
Code For i = 1 to Sheets.Count Sheets(i).Select Code Next
J'espère que tu pourras en tirer profit Dis mi !!!!
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For each" par exemple ?
J'ai une feuille "Données" avec environ 1000 lignes de donnée s, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille pa r feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup av ec un "For each" par exemple ?
On 19 juil, 11:29, JulieH <jul...@discussions.microsoft.com> wrote:
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de donnée s, en
colonne C il y a des origines : toto - tata - titi ...(20 différentes).
Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser :
- Copier la feuille "Données" dans chacune des feuilles.
- Pour chacune des feuille effacer toutes les lignes, dont la colonne C
est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille pa r feuille !!!
Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup av ec un "For
each" par exemple ?
J'ai une feuille "Données" avec environ 1000 lignes de donnée s, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille pa r feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup av ec un "For each" par exemple ?
Merci par avance
Julie
JB
Bonsoir,
Sub Extrait() Sheets("Donnees").Select '--- Liste des services [A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[G1], Unique:=True Sheets("Donnees").Select For Each c In Range("G2", [G65000].End(xlUp)) ' pour chaque service [G2] = c.Value On Error Resume Next Sheets(c.Value).Select ' la feuille existe t- elle? If Err <> 0 Then Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ' création ActiveSheet.Name = c.Value End If '-- extraction Sheets("donnees").[A1:D10000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("donnees").[G1:G2], CopyToRange:=[A1:D1] Sheets("donnees").Select Next c End Sub
http://cjoint.com/?htvgmCzQsx
JB
On 19 juil, 11:29, JulieH wrote:
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de donnée s, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille pa r feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup av ec un "For each" par exemple ?
Merci par avance
Julie
Bonsoir,
Sub Extrait()
Sheets("Donnees").Select
'--- Liste des services
[A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[G1],
Unique:=True
Sheets("Donnees").Select
For Each c In Range("G2", [G65000].End(xlUp)) ' pour chaque
service
[G2] = c.Value
On Error Resume Next
Sheets(c.Value).Select ' la feuille existe t-
elle?
If Err <> 0 Then
Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ' création
ActiveSheet.Name = c.Value
End If
'-- extraction
Sheets("donnees").[A1:D10000].AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("donnees").[G1:G2],
CopyToRange:=[A1:D1]
Sheets("donnees").Select
Next c
End Sub
http://cjoint.com/?htvgmCzQsx
JB
On 19 juil, 11:29, JulieH <jul...@discussions.microsoft.com> wrote:
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de donnée s, en
colonne C il y a des origines : toto - tata - titi ...(20 différentes).
Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser :
- Copier la feuille "Données" dans chacune des feuilles.
- Pour chacune des feuille effacer toutes les lignes, dont la colonne C
est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille pa r feuille !!!
Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup av ec un "For
each" par exemple ?
Sub Extrait() Sheets("Donnees").Select '--- Liste des services [A1:D10000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[G1], Unique:=True Sheets("Donnees").Select For Each c In Range("G2", [G65000].End(xlUp)) ' pour chaque service [G2] = c.Value On Error Resume Next Sheets(c.Value).Select ' la feuille existe t- elle? If Err <> 0 Then Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ' création ActiveSheet.Name = c.Value End If '-- extraction Sheets("donnees").[A1:D10000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets("donnees").[G1:G2], CopyToRange:=[A1:D1] Sheets("donnees").Select Next c End Sub
http://cjoint.com/?htvgmCzQsx
JB
On 19 juil, 11:29, JulieH wrote:
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de donnée s, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille pa r feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup av ec un "For each" par exemple ?
Merci par avance
Julie
Youky
Bonsoir , une autre solution à tester, elle fait direct ce que tu attends Si la feuille n'existe pas elle est ajoutées. Youky Sub dispatche() For sh = 1 To Sheets.Count If Sheets(sh).Name <> "Données" Then _ Sheets(sh).Cells.ClearContents Next For k = 2 To [Données!C65536].End(3).Row onglet = Sheets("Données").Cells(k, 3) On Error Resume Next lg = Sheets(onglet).[C65536].End(3).Row + 1 If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = onglet lg = 1: Err.Clear End If Sheets(onglet).Rows(lg).Value = Sheets("Données").Rows(k).Value Next End Sub
"JulieH" a écrit dans le message de news:
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For each" par exemple ?
Merci par avance
Julie
Bonsoir ,
une autre solution à tester, elle fait direct ce que tu attends
Si la feuille n'existe pas elle est ajoutées.
Youky
Sub dispatche()
For sh = 1 To Sheets.Count
If Sheets(sh).Name <> "Données" Then _
Sheets(sh).Cells.ClearContents
Next
For k = 2 To [Données!C65536].End(3).Row
onglet = Sheets("Données").Cells(k, 3)
On Error Resume Next
lg = Sheets(onglet).[C65536].End(3).Row + 1
If Err <> 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = onglet
lg = 1: Err.Clear
End If
Sheets(onglet).Rows(lg).Value = Sheets("Données").Rows(k).Value
Next
End Sub
"JulieH" <julieh@discussions.microsoft.com> a écrit dans le message de news:
eMTbcdeyHHA.1208@TK2MSFTNGP03.phx.gbl...
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne
C il y a des origines : toto - tata - titi ...(20 différentes).
Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser :
- Copier la feuille "Données" dans chacune des feuilles.
- Pour chacune des feuille effacer toutes les lignes, dont la colonne C
est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!!
Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For
each" par exemple ?
Bonsoir , une autre solution à tester, elle fait direct ce que tu attends Si la feuille n'existe pas elle est ajoutées. Youky Sub dispatche() For sh = 1 To Sheets.Count If Sheets(sh).Name <> "Données" Then _ Sheets(sh).Cells.ClearContents Next For k = 2 To [Données!C65536].End(3).Row onglet = Sheets("Données").Cells(k, 3) On Error Resume Next lg = Sheets(onglet).[C65536].End(3).Row + 1 If Err <> 0 Then Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = onglet lg = 1: Err.Clear End If Sheets(onglet).Rows(lg).Value = Sheets("Données").Rows(k).Value Next End Sub
"JulieH" a écrit dans le message de news:
Bonjour à toutes et tous,
J'ai une feuille "Données" avec environ 1000 lignes de données, en colonne C il y a des origines : toto - tata - titi ...(20 différentes). Parrallèlement, j'ai 20 feuilles nommées : toto - tata...
Ce que je souhaiterais réaliser : - Copier la feuille "Données" dans chacune des feuilles. - Pour chacune des feuille effacer toutes les lignes, dont la colonne C est différente du nom de la feuille.
Globalement, j'arrive à réaliser cela en VBA, mais feuille par feuille !!! Quelqu'un pourrait-il m'aider à le réaliser d'un seul coup avec un "For each" par exemple ?