OVH Cloud OVH Cloud

Rapatriement automatique de données volatiles...pour qu'elles ne le soient plus.

8 réponses
Avatar
STEPHANE
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer" le
résultat d'une cellules ou d'une plage de cellules dans une autre feuille et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2 colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou une
plage de cellules.

Merci

Stéphane.

8 réponses

Avatar
michdenis
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le résultat de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer" le
résultat d'une cellules ou d'une plage de cellules dans une autre feuille et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2 colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou une
plage de cellules.

Merci

Stéphane.
Avatar
STEPHANE
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10 lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2 colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou une
plage de cellules.

Merci

Stéphane.





Avatar
michdenis
Bonjour Stéphane,

Essaie ceci en modifiant le nom des feuilles au besoin ...

'------------------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy
With Worksheets("Feuil2")
.Activate
.Range("A" & a). _
PasteSpecial (xlPasteValues)
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de news: 4312c59b$0$2519$
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10 lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2 colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou une
plage de cellules.

Merci

Stéphane.





Avatar
STEPHANE
Bonjour michdenis,

Parfait ca fonctionne très bien, j'ai même testé 10000 simulations, après
c'est juste une question de temps de calcul.

Par contre comment puis-je faire, pour faire la même chose mais à partir
d'une colonne qui se trouve en feuil1 A1:A100
et qui va s'incrémenter au fil des simulations dans la feuil2 en A1:A100,
B1:B100, C1:C100...
J'ai fais différentes modif sur ta macro mais il y a quelque chose qui
m'échappe...le VBA peut-être :o))...

Merci.

Stéphane.
"michdenis" a écrit dans le message de news:

Bonjour Stéphane,

Essaie ceci en modifiant le nom des feuilles au besoin ...

'------------------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy
With Worksheets("Feuil2")
.Activate
.Range("A" & a). _
PasteSpecial (xlPasteValues)
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4312c59b$0$2519$
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10
lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui
lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2 colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou
une
plage de cellules.

Merci

Stéphane.










Avatar
michdenis
Je ne comprends pas ta question !

qu'est-ce qui s'incrémente ? Ligne? colonne ?

quel est la nature de ton problème ? La recopie sur la feuil2 ?



Salutaitions!



"STEPHANE" a écrit dans le message de news: 431343d9$0$2522$
Bonjour michdenis,

Parfait ca fonctionne très bien, j'ai même testé 10000 simulations, après
c'est juste une question de temps de calcul.

Par contre comment puis-je faire, pour faire la même chose mais à partir
d'une colonne qui se trouve en feuil1 A1:A100
et qui va s'incrémenter au fil des simulations dans la feuil2 en A1:A100,
B1:B100, C1:C100...
J'ai fais différentes modif sur ta macro mais il y a quelque chose qui
m'échappe...le VBA peut-être :o))...

Merci.

Stéphane.
"michdenis" a écrit dans le message de news:

Bonjour Stéphane,

Essaie ceci en modifiant le nom des feuilles au besoin ...

'------------------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy
With Worksheets("Feuil2")
.Activate
.Range("A" & a). _
PasteSpecial (xlPasteValues)
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4312c59b$0$2519$
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10
lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui
lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2 colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou
une
plage de cellules.

Merci

Stéphane.










Avatar
STEPHANE
Bonsoir,

Ta macro précédente fonctionne avec une ligne A1:J1 en feuil1 puis à chaque
simulation elle copie le résultat en feuil2 A1:J1, puis A2:J2....
Je souhaite faire exactement la même chose mais au lieu de traiter une ligne
(A1:J1) je traite une colonne (A1:A100) puis à chaque simulation la macro
copie le résultat en feuil2 A1:A100, puis B1:B100.......

Seulement quant je modifie moi-même les plages en remplaçant dans ta macro
la plage de lecture (A1:J1) par la plage(A1:A100) ca ne marche pas car je
ne sais pas modifier la plage de copie en feuil2 qui devrait être A1:A100,
puis B1:B100.......

Voilà mon problème...

Merci de ton aide.

Cordialement.

PS :J'ai une solution de remplacement par fonction ou je sais transformer
par TRANSPOSE en matriciel une colonne en une ligne mais la macro par
dessus...ca peut faire "une usine à gaz" surtout sur des volumes importants.

"michdenis" a écrit dans le message de news:
%
Je ne comprends pas ta question !

qu'est-ce qui s'incrémente ? Ligne? colonne ?

quel est la nature de ton problème ? La recopie sur la feuil2 ?



Salutaitions!



"STEPHANE" a écrit dans le message de
news: 431343d9$0$2522$
Bonjour michdenis,

Parfait ca fonctionne très bien, j'ai même testé 10000 simulations, après
c'est juste une question de temps de calcul.

Par contre comment puis-je faire, pour faire la même chose mais à partir
d'une colonne qui se trouve en feuil1 A1:A100
et qui va s'incrémenter au fil des simulations dans la feuil2 en A1:A100,
B1:B100, C1:C100...
J'ai fais différentes modif sur ta macro mais il y a quelque chose qui
m'échappe...le VBA peut-être :o))...

Merci.

Stéphane.
"michdenis" a écrit dans le message de news:

Bonjour Stéphane,

Essaie ceci en modifiant le nom des feuilles au besoin ...

'------------------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy
With Worksheets("Feuil2")
.Activate
.Range("A" & a). _
PasteSpecial (xlPasteValues)
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4312c59b$0$2519$
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc
chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10
lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le
résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui
lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre
feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2
colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou
une
plage de cellules.

Merci

Stéphane.















Avatar
michdenis
Bonjour Stephane,

comme ceci :


'--------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:A10").Copy
With Worksheets("Feuil2")
.Activate
.Range("A1")(1, a).PasteSpecial xlPasteValues
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'---------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de news: 43135b9e$0$2522$
Bonsoir,

Ta macro précédente fonctionne avec une ligne A1:J1 en feuil1 puis à chaque
simulation elle copie le résultat en feuil2 A1:J1, puis A2:J2....
Je souhaite faire exactement la même chose mais au lieu de traiter une ligne
(A1:J1) je traite une colonne (A1:A100) puis à chaque simulation la macro
copie le résultat en feuil2 A1:A100, puis B1:B100.......

Seulement quant je modifie moi-même les plages en remplaçant dans ta macro
la plage de lecture (A1:J1) par la plage(A1:A100) ca ne marche pas car je
ne sais pas modifier la plage de copie en feuil2 qui devrait être A1:A100,
puis B1:B100.......

Voilà mon problème...

Merci de ton aide.

Cordialement.

PS :J'ai une solution de remplacement par fonction ou je sais transformer
par TRANSPOSE en matriciel une colonne en une ligne mais la macro par
dessus...ca peut faire "une usine à gaz" surtout sur des volumes importants.

"michdenis" a écrit dans le message de news:
%
Je ne comprends pas ta question !

qu'est-ce qui s'incrémente ? Ligne? colonne ?

quel est la nature de ton problème ? La recopie sur la feuil2 ?



Salutaitions!



"STEPHANE" a écrit dans le message de
news: 431343d9$0$2522$
Bonjour michdenis,

Parfait ca fonctionne très bien, j'ai même testé 10000 simulations, après
c'est juste une question de temps de calcul.

Par contre comment puis-je faire, pour faire la même chose mais à partir
d'une colonne qui se trouve en feuil1 A1:A100
et qui va s'incrémenter au fil des simulations dans la feuil2 en A1:A100,
B1:B100, C1:C100...
J'ai fais différentes modif sur ta macro mais il y a quelque chose qui
m'échappe...le VBA peut-être :o))...

Merci.

Stéphane.
"michdenis" a écrit dans le message de news:

Bonjour Stéphane,

Essaie ceci en modifiant le nom des feuilles au besoin ...

'------------------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy
With Worksheets("Feuil2")
.Activate
.Range("A" & a). _
PasteSpecial (xlPasteValues)
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4312c59b$0$2519$
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc
chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10
lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le
résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui
lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse "figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre
feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2
colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou
une
plage de cellules.

Merci

Stéphane.















Avatar
STEPHANE
GENIAL !

Mon enthousiasme est à la mesure de ma gratitude, je gagne des heures de
travail laborieux :o))))

Je crains de ne pas pouvoir te rendre la pareil sur Excel...je ne peux
t'offrir que mes remerciements pour la 3 ou 4ième fois...c'est
redondant...mais pas automatique.

Cordialement

Stéphane.
"michdenis" a écrit dans le message de news:
%23g5o$
Bonjour Stephane,

comme ceci :


'--------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:A10").Copy
With Worksheets("Feuil2")
.Activate
.Range("A1")(1, a).PasteSpecial xlPasteValues
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'---------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 43135b9e$0$2522$
Bonsoir,

Ta macro précédente fonctionne avec une ligne A1:J1 en feuil1 puis à
chaque
simulation elle copie le résultat en feuil2 A1:J1, puis A2:J2....
Je souhaite faire exactement la même chose mais au lieu de traiter une
ligne
(A1:J1) je traite une colonne (A1:A100) puis à chaque simulation la macro
copie le résultat en feuil2 A1:A100, puis B1:B100.......

Seulement quant je modifie moi-même les plages en remplaçant dans ta macro
la plage de lecture (A1:J1) par la plage(A1:A100) ca ne marche pas car je
ne sais pas modifier la plage de copie en feuil2 qui devrait être A1:A100,
puis B1:B100.......

Voilà mon problème...

Merci de ton aide.

Cordialement.

PS :J'ai une solution de remplacement par fonction ou je sais transformer
par TRANSPOSE en matriciel une colonne en une ligne mais la macro par
dessus...ca peut faire "une usine à gaz" surtout sur des volumes
importants.

"michdenis" a écrit dans le message de news:
%
Je ne comprends pas ta question !

qu'est-ce qui s'incrémente ? Ligne? colonne ?

quel est la nature de ton problème ? La recopie sur la feuil2 ?



Salutaitions!



"STEPHANE" a écrit dans le message de
news: 431343d9$0$2522$
Bonjour michdenis,

Parfait ca fonctionne très bien, j'ai même testé 10000 simulations, après
c'est juste une question de temps de calcul.

Par contre comment puis-je faire, pour faire la même chose mais à partir
d'une colonne qui se trouve en feuil1 A1:A100
et qui va s'incrémenter au fil des simulations dans la feuil2 en A1:A100,
B1:B100, C1:C100...
J'ai fais différentes modif sur ta macro mais il y a quelque chose qui
m'échappe...le VBA peut-être :o))...

Merci.

Stéphane.
"michdenis" a écrit dans le message de news:

Bonjour Stéphane,

Essaie ceci en modifiant le nom des feuilles au besoin ...

'------------------------------------
Sub Tableau()

Dim Nom As String
Nom = ActiveSheet.Name
Application.ScreenUpdating = False
For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy
With Worksheets("Feuil2")
.Activate
.Range("A" & a). _
PasteSpecial (xlPasteValues)
End With
End With
Worksheets("Feuil2").Range("A1").Select
Sheets(Nom).Select
Application.CutCopyMode = False
Next

End Sub
'------------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4312c59b$0$2519$
Bonjour michdenis,

Merci de ta réponse.

J'ai testé ta macro, le problème est le suivant :
Je lance la macro elle active 10 simulations et recopie la zone de
départ
paramétré sur la zone d'arrivée paramétré. Jusque là OK.
Mais les valeurs issues de chaque simulation sont différentes. Donc
chaque
ligne de la feuil2 devrait correspondre au résultat d'une simulation.
En fait la macro, à chaque simulation, donne le même résultat sur 10
lignes,
de fait à l'issu du calcul de la macro (10 simulations) chaque résultat
écrasant le précédent, je retrouve en feuil2 recopié sur sur 10 lignes
le
dernier résultat de la dernière simulation de la feuil1 .

Deux questions

1- Peux-tu modifier cela pour que chaque simulation en feuil1 donne un
résultat en feuil2 sur une ligne différente. Un système de compteur,
simulation 1 dans feuil1 = recopie dans feuil2 ligne1, simulation 2 dans
feuil1 = recopie dans feuil2 ligne2......
2- Peut-on augmenter le nombre de simulations 1 to 100 ou 1 to 1000

Merci de tes réponses.

Cordialement,

Stéphane.

"michdenis" a écrit dans le message de news:
O5ptg3$
Bonjour Stéphane,

As-tu essayé quelque chose comme ceci :

tu lances cette macro 1 fois, et tu devrais obtenir en Feuil2 le
résultat
de 10 tirages en ligne 1 à 10

'-------------------------------
Sub Tableau()

For a = 1 To 10
With Worksheets("Feuil1")
.Calculate
.Range("A1:J1").Copy _
Worksheets("feuil2").Range("A" & a)
End With
Next

End Sub
'-------------------------------


Salutations!



"STEPHANE" a écrit dans le message de
news: 4311e49c$0$2520$
Bonsoir,

Grâce à la contributions active de certain d'entre vous j'ai
aujourd'hui
un
tableau plein de données volatiles qui sont la résultante soit d'une
distribution aléatoire d'une base de données soit celle de calculs qui
lui
sont inhérents.

Je réactualise ces données soit par F9 ou en activant une macro.

Comment puis-je faire pour qu'à chaque réactualisation je puisse
"figer"
le
résultat d'une cellules ou d'une plage de cellules dans une autre
feuille
et
cela automatiquement ?

Exemple pour une cellule:
feuille1 A1=1 feuille2 A1=1 je réactualise F9 ou macro
feuille1 A1=2 feuille2 A2 ou B1 =2
Si je choisi le rapatriement de feuille1 A1 volatile en feuille2
colonnes
figées alors 10 réactualisation de A1 feuille1 me donneront
A1,B1,C1,D1,E1,F1,G1,H1,I1,J1 en feuille2. Je conserve la mémoire de
mes
simulations.
Cela me permet de compiler des résultats rapidement afin de les
étudier.

Pourriez-vous m'aider à automatiser cette fonction pour une cellule ou
une
plage de cellules.

Merci

Stéphane.