Crée une boucle sur VBA
Résolu/Fermé
Cailloux50
Messages postés
79
Date d'inscription
jeudi 13 septembre 2018
Statut
Membre
Dernière intervention
10 août 2020
-
Modifié le 22 oct. 2018 à 15:31
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 23 oct. 2018 à 13:55
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 23 oct. 2018 à 13:55
A voir également:
- Crée une boucle sur VBA
- Cree un compte google - Guide
- Comment créer une story sur facebook - Guide
- Créer un compte instagram sur google - Guide
- Créer une adresse hotmail - Guide
- Comment créer un groupe sur whatsapp - Guide
2 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 23 oct. 2018 à 08:39
Modifié le 23 oct. 2018 à 08:39
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 23 oct. 2018 à 10:35
Modifié le 23 oct. 2018 à 10:35
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
23 oct. 2018 à 09:46
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)"
Modifié le 23 oct. 2018 à 10:20
tu pourrais boucler sur un for :
je n'ai pas testé mais logiquement ca doit être bon
23 oct. 2018 à 10:46
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
23 oct. 2018 à 11:09
il manquait une parenthèse désolé
23 oct. 2018 à 12:18
tjrs pareil je comprend pas parce que tous parait bon..