Excel 2007
Fermé
numbernine
Messages postés
29
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
3 août 2009
-
17 avril 2009 à 12:05
numbernine Messages postés 29 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 3 août 2009 - 17 avril 2009 à 16:59
numbernine Messages postés 29 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 3 août 2009 - 17 avril 2009 à 16:59
A voir également:
- Excel 2007
- Liste déroulante excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
7 réponses
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
17 avril 2009 à 13:02
17 avril 2009 à 13:02
Bonjour,
Alors là, j'ai du mal à comprendre. Oui on peut toujours faire un programme en VBA mais serons nous encore en vie quand il aura fini ? car 1000 dans chaque colonne cela fait 1000 x 1000 x 1000 opérations ...
Ou alors j'ai pas bien compris ?
RECTIFICATION : le temps estimé n'est que de 50 heures environ... Mais pour stocker les résultats ....
A+
Alors là, j'ai du mal à comprendre. Oui on peut toujours faire un programme en VBA mais serons nous encore en vie quand il aura fini ? car 1000 dans chaque colonne cela fait 1000 x 1000 x 1000 opérations ...
Ou alors j'ai pas bien compris ?
RECTIFICATION : le temps estimé n'est que de 50 heures environ... Mais pour stocker les résultats ....
A+
numbernine
Messages postés
29
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
3 août 2009
17 avril 2009 à 13:52
17 avril 2009 à 13:52
effectivement je n'avais pas pensé au temps que cela prendrai...
on peut faire un programme sur excel pour se genre d'opération????
je vais me limiter à 100 chiffres par colonne pour commencer... penses tu que c'est faisable?
on peut faire un programme sur excel pour se genre d'opération????
je vais me limiter à 100 chiffres par colonne pour commencer... penses tu que c'est faisable?
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
17 avril 2009 à 14:27
17 avril 2009 à 14:27
Oui c'est tout à fait possible, on peut faire Trois boucles imbriquées dans une macro par exemple :
ce calcul peut se faire en moins de 5 mn mais cela fait toujours 1 000 000 de valeurs, ou peut-on les ranger (tu dis dans la colonne D mais il faut 10 000 colonnes). Et même si on arrive à les ranger, il sera impossible de les exploiter.
Donc je pense qu'il faut que tu nous en dise plus sur l'exploitation que tu veux faire de ces sommes (un critère d'optimisation par exemple) pour n'en retenir qu'un nombre "humainement exploitable"
A+
For I = 1 To 100 For J = 1 To 100 For K = 1 To 100 CUMUL = Cells(1, I) + Cells(1, J) + Cells(1, K) Next K Next J Next I
ce calcul peut se faire en moins de 5 mn mais cela fait toujours 1 000 000 de valeurs, ou peut-on les ranger (tu dis dans la colonne D mais il faut 10 000 colonnes). Et même si on arrive à les ranger, il sera impossible de les exploiter.
Donc je pense qu'il faut que tu nous en dise plus sur l'exploitation que tu veux faire de ces sommes (un critère d'optimisation par exemple) pour n'en retenir qu'un nombre "humainement exploitable"
A+
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
17 avril 2009 à 14:40
17 avril 2009 à 14:40
Voila par exemple une macro qui prends les 100 premières valeurs de A, B et C et qui range les résultats à partir de la colonne D en 100 colonnes de 10 000 valeurs chacune.
EDIT : je viens de corriger, il y avait une erreur dans la 1° version de mon post !
A+
Sub MILLION() ICOL = 4 For I = 1 To 100 ILIG = 1 For J = 1 To 100 For K = 1 To 100 Cells(ILIG, ICOL) = Cells(I, 1) + Cells(J, 2) + Cells(K, 3) ILIG = ILIG + 1 Next K Next J ICOL = ICOL + 1 Next I End Sub
EDIT : je viens de corriger, il y avait une erreur dans la 1° version de mon post !
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
numbernine
Messages postés
29
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
3 août 2009
17 avril 2009 à 14:47
17 avril 2009 à 14:47
merci pour tes réponses !
mais tu vas bcp trop vite pour moi^^
je découvre excel...
moi j'ai commencé par inscrire mes valeurs dans les colonnes, mais ou est-ce que je glisse la macro?
ça se fait dans une celule?
Puis pour la prog j'en ai deja fais mais c'était de l'assembleur....le vba a l'air assez simple alors je vais essayer de comprendre ton prog !
merci bien pour ton aide en tout cas !
mais tu vas bcp trop vite pour moi^^
je découvre excel...
moi j'ai commencé par inscrire mes valeurs dans les colonnes, mais ou est-ce que je glisse la macro?
ça se fait dans une celule?
Puis pour la prog j'en ai deja fais mais c'était de l'assembleur....le vba a l'air assez simple alors je vais essayer de comprendre ton prog !
merci bien pour ton aide en tout cas !
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
17 avril 2009 à 15:02
17 avril 2009 à 15:02
Pour la macro tu peux suivre la procédure suivante :
1/ tu fais ALT+F11 (cela doit ouvrir l'éditeur VBA)
2/ tu fais Insertion/Module
3/ Tu copie le texte de ma macro et tu colles dans la partie droite
A partir de la tu peux refermer l'éditeur VBA.
Dans Excel dans le menu Macro tu dois maintenant avoir la macro "Million" que tu peux exécuter (il faut environ 3 mn sur ma machine)
Ou Plus simple faire ALT+F8 pour retrouver la liste des macros et l'exécuter.
Bonne découverte de VBA !
1/ tu fais ALT+F11 (cela doit ouvrir l'éditeur VBA)
2/ tu fais Insertion/Module
3/ Tu copie le texte de ma macro et tu colles dans la partie droite
A partir de la tu peux refermer l'éditeur VBA.
Dans Excel dans le menu Macro tu dois maintenant avoir la macro "Million" que tu peux exécuter (il faut environ 3 mn sur ma machine)
Ou Plus simple faire ALT+F8 pour retrouver la liste des macros et l'exécuter.
Bonne découverte de VBA !
numbernine
Messages postés
29
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
3 août 2009
17 avril 2009 à 15:28
17 avril 2009 à 15:28
ok merci ça marche très bien
un peu de mal j'avoue^^
merci pour ton aide
juste une dernière question : "For I = 1 To 100" cette boucle permet de prendre les valeurs de 1 à 100?
et le "next" d'en sortir une fois la valeur 100 atteinte?
un peu de mal j'avoue^^
merci pour ton aide
juste une dernière question : "For I = 1 To 100" cette boucle permet de prendre les valeurs de 1 à 100?
et le "next" d'en sortir une fois la valeur 100 atteinte?
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
17 avril 2009 à 16:29
17 avril 2009 à 16:29
Oui c'est exactement cela, une fois la dernière valeur atteinte, l'exécution continue par l'instruction qui suit le next.
Bonne continuation,
Bonne continuation,
numbernine
Messages postés
29
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
3 août 2009
17 avril 2009 à 16:59
17 avril 2009 à 16:59
OKI merci pour tous ces conseils
++
++