Probleme boucle for macro excel
Résolu
gigi1981
Messages postés
7
Statut
Membre
-
gigi1981 Messages postés 7 Statut Membre -
gigi1981 Messages postés 7 Statut Membre -
bonjour à tous
j'ai un souci pour une macro excel
je dois faire une tache répétitive:
recopier et coller 12 fois le contenu d'un tableau croisé dynamique sur chaque fois une feuille de calcul différentes
j ai donc pensé à une boucle for mais je n'arrive pas à trouver les bons types de variable pour faire fonctionner ma macro
est ce que quelqu un pourrait s'il vous plait me donner un petit coup de pouce??
voici le code de ma macro:
Dim i As Integer
Dim f As Variant
Dim m As Variant
Dim j As String
For i = 1 To 12
Sheets("DONNEES").Select
Sheets.Add
Sheets("DONNEES").Select
j = "& i"
f = "Feuil& i "
m = "mois & i "
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotField("MOIS")._CurrentPage= "& j &"
Range("M2:Y42").Select
Selection.Copy
Sheets("& f &").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Name = "& m &"
Next i
'
End Sub
j'ai un souci pour une macro excel
je dois faire une tache répétitive:
recopier et coller 12 fois le contenu d'un tableau croisé dynamique sur chaque fois une feuille de calcul différentes
j ai donc pensé à une boucle for mais je n'arrive pas à trouver les bons types de variable pour faire fonctionner ma macro
est ce que quelqu un pourrait s'il vous plait me donner un petit coup de pouce??
voici le code de ma macro:
Dim i As Integer
Dim f As Variant
Dim m As Variant
Dim j As String
For i = 1 To 12
Sheets("DONNEES").Select
Sheets.Add
Sheets("DONNEES").Select
j = "& i"
f = "Feuil& i "
m = "mois & i "
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotField("MOIS")._CurrentPage= "& j &"
Range("M2:Y42").Select
Selection.Copy
Sheets("& f &").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Name = "& m &"
Next i
'
End Sub
A voir également:
- Probleme boucle for macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
2 réponses
tout d'abord merci pour ta réponse Chricky_80
je viens de comprendre grace à celle-ci que mon probleme vient des variables et non de ma boucle for qui est écrite comme il faut
j'ai inscrit les variables de la même façon que celle que tu m'as proposée et cela fonctionne comme je le veux
Merci beaucoup pour ton aide
je vous donne le code final si cela peut interesser certaines personnes:
Sub macro1()
Dim i As Integer
Dim f As Variant
Dim m As Variant
Dim j As String
For i = 1 To 12
Sheets("DONNEES").Select
Sheets.Add
Sheets("DONNEES").Select
j = i
f = "Feuil"& i
m = "mois" &i
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotField("MOIS")._CurrentPage= "& j &"
Range("M2:Y42").Select
Selection.Copy
Sheets(f).Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(f).Name = m
Next i
End Sub
je viens de comprendre grace à celle-ci que mon probleme vient des variables et non de ma boucle for qui est écrite comme il faut
j'ai inscrit les variables de la même façon que celle que tu m'as proposée et cela fonctionne comme je le veux
Merci beaucoup pour ton aide
je vous donne le code final si cela peut interesser certaines personnes:
Sub macro1()
Dim i As Integer
Dim f As Variant
Dim m As Variant
Dim j As String
For i = 1 To 12
Sheets("DONNEES").Select
Sheets.Add
Sheets("DONNEES").Select
j = i
f = "Feuil"& i
m = "mois" &i
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotField("MOIS")._CurrentPage= "& j &"
Range("M2:Y42").Select
Selection.Copy
Sheets(f).Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(f).Name = m
Next i
End Sub
Je ne suis pas sur d'avoir parfaitement compris ton soucis, mais en attendant, je te propose un début de réponse :
Sub test()
Dim i As Integer
Dim f As Variant
Dim m As Variant
Dim j As String
For i = 1 To 12
Sheets("DONNEES").Select
Sheets.Add
Sheets("DONNEES").Select
j = i
f = "Feuil" & i
m = "mois" & i
Sheets("Tableau croisé dynamique1").Select
Range("M2:Y42").Select
Selection.Copy
Sheets(f).Select
Range("C3").Select
ActiveSheet.Paste
Sheets(f).Name = m
Next i
End Sub
Essayes déjà ca.
Sub test()
Dim i As Integer
Dim f As Variant
Dim m As Variant
Dim j As String
For i = 1 To 12
Sheets("DONNEES").Select
Sheets.Add
Sheets("DONNEES").Select
j = i
f = "Feuil" & i
m = "mois" & i
Sheets("Tableau croisé dynamique1").Select
Range("M2:Y42").Select
Selection.Copy
Sheets(f).Select
Range("C3").Select
ActiveSheet.Paste
Sheets(f).Name = m
Next i
End Sub
Essayes déjà ca.