Crée une boucle sur VBA
Résolu
Cailloux50
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
fabien25000 Messages postés 673 Date d'inscription Statut Membre Dernière intervention - 23 oct. 2018 à 13:55
fabien25000 Messages postés 673 Date d'inscription Statut Membre Dernière intervention - 23 oct. 2018 à 13:55
A voir également:
- Crée une boucle sur VBA
- Cree un compte google - Guide
- Creer une story sur facebook - Guide
- Créer un compte instagram sur google - Guide
- Comment créer un groupe sur whatsapp - Guide
- Cree gmail - Guide
2 réponses
essaies:
Quand tu lances ta macro , tu fais ton getpivot uniquement pour la valeur de B9 ou cette valeur passe de 1 à 12 automatiquement ?
mais fais voir ton code en entier ou, mieux, le classeur et explique ce que tu voudrais faire
xxx=range("B9").value
+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",XXX,""Années"",2018)"
End If
End Sub
Quand tu lances ta macro , tu fais ton getpivot uniquement pour la valeur de B9 ou cette valeur passe de 1 à 12 automatiquement ?
mais fais voir ton code en entier ou, mieux, le classeur et explique ce que tu voudrais faire
merci du petit conseil déjà je gagne quelques lignes.
Mais le souci c'est que si le chiffre est 12 j'ai donc 12 fois ce code : GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",1,""Années"",2018
Avec le numéro en gras qui va de 1 à 12 et ça je ne sais pas faire..
Par exemple ça donnerait ça :
"=GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",1,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",2,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",3,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",4,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",5,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",6,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",7,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",8,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",9,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",10,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",11,""Années"",2018+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",12,""Années"",2018)"
tu pourrais boucler sur un for :
je n'ai pas testé mais logiquement ca doit être bon
J'ai un tout petit peu modifier le code,
Sub Macro2()
Dim tmpFormule As String
If Range("B59").Value > 1 Then
tmpFormule = "=GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",3,""Années"",2018"
For i = 4 To Range("B59").Value
tmpFormule = tmpFormule & "+GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date""," & i & ",""Années"",2018"
If i = Range("B59").Value Then tmpFormule = tmpFormule & ")"
Next i
Else
tmpFormule = "=GETPIVOTDATA(""Production plant"",R44C1,""Production plant"",""1101"",""Production Date"",3,""Années"",2018)"
End If
Range("B60").FormulaR1C1 = tmpFormule
End Sub
Mais juste apres le end if ça mets une erreur 1004
il manquait une parenthèse désolé
tjrs pareil je comprend pas parce que tous parait bon..