A partir d'une feuille GLOBALE qui contient des données filtrées (4000
lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE
(col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je
faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES
MACRO1
' compte le nb de feuilles nécessaires
Range("B13").FormulaArray =
"=SUM(1/COUNTIF(PlageSection,PlageSection))"
nbfeuilles = Range("B13").Value
'boucle de copie
For i = 1 To nbfeuilles
Sheets(2).Copy after:=Worksheets(Sheets.Count)
Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE
Filtre automatique : Différent de section XXX
Suppression des lignes affichées par le filtre
Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15)
MACRO2 (trouvé sur MPFE)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(Sht.Name).Name=Sheets(sht.Name).[B15]
Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une
seule et même MACRO. Je ne sais pas comment créer une liste des
SECTIONS pour ensuite tenter de programmer un autofilter...
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
Daniel
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne B), je te propose : Range("b1").Select Do While ActiveCell <> "" If ActiveCell.Value <> "numéro de section"Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop Cordialement. Daniel "quent1" a écrit dans le message de news:
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000 lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE (col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES MACRO1 ' compte le nb de feuilles nécessaires Range("B13").FormulaArray > "=SUM(1/COUNTIF(PlageSection,PlageSection))" nbfeuilles = Range("B13").Value
'boucle de copie For i = 1 To nbfeuilles Sheets(2).Copy after:=Worksheets(Sheets.Count) Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE Filtre automatique : Différent de section XXX Suppression des lignes affichées par le filtre Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15) MACRO2 (trouvé sur MPFE) On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(Sht.Name).Name=Sheets(sht.Name).[B15] Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une seule et même MACRO. Je ne sais pas comment créer une liste des SECTIONS pour ensuite tenter de programmer un autofilter...
Avez vous un solution ?
Merci de votre aide.
Quentin
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne
B), je te propose :
Range("b1").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "numéro de section"Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Cordialement.
Daniel
"quent1" <quent1@hotmail.com> a écrit dans le message de news:
bfed1da1.0501300739.2ae8d288@posting.google.com...
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000
lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE
(col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je
faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES
MACRO1
' compte le nb de feuilles nécessaires
Range("B13").FormulaArray > "=SUM(1/COUNTIF(PlageSection,PlageSection))"
nbfeuilles = Range("B13").Value
'boucle de copie
For i = 1 To nbfeuilles
Sheets(2).Copy after:=Worksheets(Sheets.Count)
Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE
Filtre automatique : Différent de section XXX
Suppression des lignes affichées par le filtre
Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15)
MACRO2 (trouvé sur MPFE)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(Sht.Name).Name=Sheets(sht.Name).[B15]
Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une
seule et même MACRO. Je ne sais pas comment créer une liste des
SECTIONS pour ensuite tenter de programmer un autofilter...
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne B), je te propose : Range("b1").Select Do While ActiveCell <> "" If ActiveCell.Value <> "numéro de section"Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop Cordialement. Daniel "quent1" a écrit dans le message de news:
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000 lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE (col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES MACRO1 ' compte le nb de feuilles nécessaires Range("B13").FormulaArray > "=SUM(1/COUNTIF(PlageSection,PlageSection))" nbfeuilles = Range("B13").Value
'boucle de copie For i = 1 To nbfeuilles Sheets(2).Copy after:=Worksheets(Sheets.Count) Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE Filtre automatique : Différent de section XXX Suppression des lignes affichées par le filtre Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15) MACRO2 (trouvé sur MPFE) On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(Sht.Name).Name=Sheets(sht.Name).[B15] Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une seule et même MACRO. Je ne sais pas comment créer une liste des SECTIONS pour ensuite tenter de programmer un autofilter...
Avez vous un solution ?
Merci de votre aide.
Quentin
Quent1
Bonsoir,
En partant sur cette base, sachant que mes numéros de section ne suivent pas un ordre logique (201, 226, 230...), j'ai écrit ce que celà donnerait si les boucles n'existaient pas...
J'ai listé les sections dans un tableau que j'ai placé dans la sheet(1) mais Je ne sais pas comment me servir de cette liste pour former les différentes variables de ma macro...
Sheet(3).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "201" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(4).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "226" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(5).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "230" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
.....
Comment Faire ? "Daniel" a écrit dans le message de news:
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne B), je te propose : Range("b1").Select Do While ActiveCell <> "" If ActiveCell.Value <> "numéro de section"Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop Cordialement. Daniel "quent1" a écrit dans le message de news:
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000 lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE (col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES MACRO1 ' compte le nb de feuilles nécessaires Range("B13").FormulaArray >> "=SUM(1/COUNTIF(PlageSection,PlageSection))" nbfeuilles = Range("B13").Value
'boucle de copie For i = 1 To nbfeuilles Sheets(2).Copy after:=Worksheets(Sheets.Count) Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE Filtre automatique : Différent de section XXX Suppression des lignes affichées par le filtre Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15) MACRO2 (trouvé sur MPFE) On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(Sht.Name).Name=Sheets(sht.Name).[B15] Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une seule et même MACRO. Je ne sais pas comment créer une liste des SECTIONS pour ensuite tenter de programmer un autofilter...
Avez vous un solution ?
Merci de votre aide.
Quentin
Bonsoir,
En partant sur cette base, sachant que mes numéros de section ne suivent pas
un ordre logique (201, 226, 230...), j'ai écrit ce que celà donnerait si les
boucles n'existaient pas...
J'ai listé les sections dans un tableau que j'ai placé dans la sheet(1) mais
Je ne sais pas comment me servir de cette liste pour former les différentes
variables de ma macro...
Sheet(3).Select
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "201" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheet(4).Select
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "226" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheet(5).Select
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "230" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
.....
Comment Faire ?
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uW6nzruBFHA.2568@TK2MSFTNGP11.phx.gbl...
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne
B), je te propose :
Range("b1").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "numéro de section"Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Cordialement.
Daniel
"quent1" <quent1@hotmail.com> a écrit dans le message de news:
bfed1da1.0501300739.2ae8d288@posting.google.com...
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000
lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE
(col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je
faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES
MACRO1
' compte le nb de feuilles nécessaires
Range("B13").FormulaArray >> "=SUM(1/COUNTIF(PlageSection,PlageSection))"
nbfeuilles = Range("B13").Value
'boucle de copie
For i = 1 To nbfeuilles
Sheets(2).Copy after:=Worksheets(Sheets.Count)
Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE
Filtre automatique : Différent de section XXX
Suppression des lignes affichées par le filtre
Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15)
MACRO2 (trouvé sur MPFE)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(Sht.Name).Name=Sheets(sht.Name).[B15]
Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une
seule et même MACRO. Je ne sais pas comment créer une liste des
SECTIONS pour ensuite tenter de programmer un autofilter...
En partant sur cette base, sachant que mes numéros de section ne suivent pas un ordre logique (201, 226, 230...), j'ai écrit ce que celà donnerait si les boucles n'existaient pas...
J'ai listé les sections dans un tableau que j'ai placé dans la sheet(1) mais Je ne sais pas comment me servir de cette liste pour former les différentes variables de ma macro...
Sheet(3).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "201" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(4).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "226" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(5).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "230" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
.....
Comment Faire ? "Daniel" a écrit dans le message de news:
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne B), je te propose : Range("b1").Select Do While ActiveCell <> "" If ActiveCell.Value <> "numéro de section"Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop Cordialement. Daniel "quent1" a écrit dans le message de news:
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000 lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE (col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES MACRO1 ' compte le nb de feuilles nécessaires Range("B13").FormulaArray >> "=SUM(1/COUNTIF(PlageSection,PlageSection))" nbfeuilles = Range("B13").Value
'boucle de copie For i = 1 To nbfeuilles Sheets(2).Copy after:=Worksheets(Sheets.Count) Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE Filtre automatique : Différent de section XXX Suppression des lignes affichées par le filtre Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15) MACRO2 (trouvé sur MPFE) On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(Sht.Name).Name=Sheets(sht.Name).[B15] Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une seule et même MACRO. Je ne sais pas comment créer une liste des SECTIONS pour ensuite tenter de programmer un autofilter...
Avez vous un solution ?
Merci de votre aide.
Quentin
Daniel
Si le numéro de section est en B13 ? tu peux mettre : For i=3 to sheets(count) Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> range("B13").value Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop next i Cordialement. Daniel
"Quent1" a écrit dans le message de news: 41fd1b44$0$14447$
Bonsoir,
En partant sur cette base, sachant que mes numéros de section ne suivent pas un ordre logique (201, 226, 230...), j'ai écrit ce que celà donnerait si les boucles n'existaient pas...
J'ai listé les sections dans un tableau que j'ai placé dans la sheet(1) mais Je ne sais pas comment me servir de cette liste pour former les différentes variables de ma macro...
Sheet(3).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "201" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(4).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "226" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(5).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "230" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
.....
Comment Faire ? "Daniel" a écrit dans le message de news:
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne B), je te propose : Range("b1").Select Do While ActiveCell <> "" If ActiveCell.Value <> "numéro de section"Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop Cordialement. Daniel "quent1" a écrit dans le message de news:
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000 lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE (col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES MACRO1 ' compte le nb de feuilles nécessaires Range("B13").FormulaArray >>> "=SUM(1/COUNTIF(PlageSection,PlageSection))" nbfeuilles = Range("B13").Value
'boucle de copie For i = 1 To nbfeuilles Sheets(2).Copy after:=Worksheets(Sheets.Count) Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE Filtre automatique : Différent de section XXX Suppression des lignes affichées par le filtre Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15) MACRO2 (trouvé sur MPFE) On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(Sht.Name).Name=Sheets(sht.Name).[B15] Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une seule et même MACRO. Je ne sais pas comment créer une liste des SECTIONS pour ensuite tenter de programmer un autofilter...
Avez vous un solution ?
Merci de votre aide.
Quentin
Si le numéro de section est en B13 ?
tu peux mettre :
For i=3 to sheets(count)
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> range("B13").value Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
next i
Cordialement.
Daniel
"Quent1" <Quent1@hotmail.com> a écrit dans le message de news:
41fd1b44$0$14447$636a15ce@news.free.fr...
Bonsoir,
En partant sur cette base, sachant que mes numéros de section ne suivent
pas un ordre logique (201, 226, 230...), j'ai écrit ce que celà donnerait
si les boucles n'existaient pas...
J'ai listé les sections dans un tableau que j'ai placé dans la sheet(1)
mais Je ne sais pas comment me servir de cette liste pour former les
différentes variables de ma macro...
Sheet(3).Select
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "201" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheet(4).Select
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "226" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheet(5).Select
Range("b15").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "230" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
.....
Comment Faire ?
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uW6nzruBFHA.2568@TK2MSFTNGP11.phx.gbl...
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en
colonne B), je te propose :
Range("b1").Select
Do While ActiveCell <> ""
If ActiveCell.Value <> "numéro de section"Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Cordialement.
Daniel
"quent1" <quent1@hotmail.com> a écrit dans le message de news:
bfed1da1.0501300739.2ae8d288@posting.google.com...
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000
lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE
(col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je
faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES
MACRO1
' compte le nb de feuilles nécessaires
Range("B13").FormulaArray >>> "=SUM(1/COUNTIF(PlageSection,PlageSection))"
nbfeuilles = Range("B13").Value
'boucle de copie
For i = 1 To nbfeuilles
Sheets(2).Copy after:=Worksheets(Sheets.Count)
Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE
Filtre automatique : Différent de section XXX
Suppression des lignes affichées par le filtre
Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15)
MACRO2 (trouvé sur MPFE)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(Sht.Name).Name=Sheets(sht.Name).[B15]
Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une
seule et même MACRO. Je ne sais pas comment créer une liste des
SECTIONS pour ensuite tenter de programmer un autofilter...
Si le numéro de section est en B13 ? tu peux mettre : For i=3 to sheets(count) Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> range("B13").value Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop next i Cordialement. Daniel
"Quent1" a écrit dans le message de news: 41fd1b44$0$14447$
Bonsoir,
En partant sur cette base, sachant que mes numéros de section ne suivent pas un ordre logique (201, 226, 230...), j'ai écrit ce que celà donnerait si les boucles n'existaient pas...
J'ai listé les sections dans un tableau que j'ai placé dans la sheet(1) mais Je ne sais pas comment me servir de cette liste pour former les différentes variables de ma macro...
Sheet(3).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "201" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(4).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "226" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
Sheet(5).Select Range("b15").Select Do While ActiveCell <> "" If ActiveCell.Value <> "230" Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop
.....
Comment Faire ? "Daniel" a écrit dans le message de news:
Pour l'étape 2 (j'ai supposé que les numéros de section étaient en colonne B), je te propose : Range("b1").Select Do While ActiveCell <> "" If ActiveCell.Value <> "numéro de section"Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If Loop Cordialement. Daniel "quent1" a écrit dans le message de news:
Bonjour,
Je cherche à automatiser le processus suivant :
A partir d'une feuille GLOBALE qui contient des données filtrées (4000 lignes), je dois créer chaque mois une feuille par SECTION BUDGETAIRE (col B). (Je précise que la liste des sections peut varier)
Jusqu'à présent et compte tenu de mes faibles connaissances en VBA, je faisais ce processus en 3 étapes.
- Etape 1 : COPIE DU NOMBRE DE FEUILLES NECESSAIRES MACRO1 ' compte le nb de feuilles nécessaires Range("B13").FormulaArray >>> "=SUM(1/COUNTIF(PlageSection,PlageSection))" nbfeuilles = Range("B13").Value
'boucle de copie For i = 1 To nbfeuilles Sheets(2).Copy after:=Worksheets(Sheets.Count) Next i
-Etape 2 : EFFACER LES DONNEES NON NECESSAIRES SUR CHAQUE FEUILLE Filtre automatique : Différent de section XXX Suppression des lignes affichées par le filtre Afficher tout
-Etape 3 : RENOMMER LES FEUILLES PAR LE N° DE SECTION (affiché en B15) MACRO2 (trouvé sur MPFE) On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(Sht.Name).Name=Sheets(sht.Name).[B15] Next
Mon Projet serait d'automatiser complètement ces 3 étapes par une seule et même MACRO. Je ne sais pas comment créer une liste des SECTIONS pour ensuite tenter de programmer un autofilter...