Probleme boucle for macro excel

Résolu
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
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. gigi1981 Messages postés 7 Statut Membre 4
     
    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
  2. Chricky_80
     
    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