Probleme boucle for macro excel

Résolu/Fermé
gigi1981 Messages postés 7 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 20 décembre 2007 - 22 août 2007 à 10:11
gigi1981 Messages postés 7 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 20 décembre 2007 - 22 août 2007 à 14:57
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
A voir également:

2 réponses

gigi1981 Messages postés 7 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 20 décembre 2007 4
22 août 2007 à 14:57
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
4
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.
1