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
Bonjour,
je débute sur excel 2007 et j'ai besoin d'un coup de pouce
voici mon probleme
colonne A colonne B colonne C colonne D
3 3 3
4 4 4
5 5 5
sur la colonne D je voudrai avoir toutes les sommes possibles, par exemple 3+3+3, 4+4+4, 5+5+5 (ça je sais le faire^^) mais aussi 3+3+4, 3+3+5... voyez le truc? y a t-il une astuce pour faire ça rapidement?

j'ai pas que 3 chiffres (mais plus de 1000 sur chaques colonnes) dans mes colonnes mais si déjà quelqu'un peut me guider la dessus...

merci bien
A voir également:

7 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
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+
0
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
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?
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
17 avril 2009 à 14:27
Oui c'est tout à fait possible, on peut faire Trois boucles imbriquées dans une macro par exemple :

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+
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
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.

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+
0

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
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 !
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
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 !

0
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
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?
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
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,
0
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
OKI merci pour tous ces conseils

++
0