Macro ? Faire varier les paramètres d'un calcul sur 1000 lignes

Bonjour à tous,

Je ne parviens pas à industrialiser un calcul complexe sur Excel.

Voici un exemple (qui n'a aucun sens d'un point de vue business).

25exemple.xlsx (42.00 Ko)

Je cherche à estimer le CA (case "C9") et les effectifs (case "C10") d'une entreprise en fonction d'autres paramètres (audience case "C5" et secteur case "C6").

J'ai configuré une table de calcul initiale qui me permet d'obtenir le résultat moyennant des formules particulièrement complexes.

C'est peu envisageable de faire tenir ce calcul dans une seule cellule (il y aurait des dizaines de fonctions imbriquées les unes dans les autres)

J'aimerais faire varier les paramètres de la table de calcul initiale en fonction des données de chaque entreprise...et obtenir automatiquement les estimations de CA et d'effectifs (colonnes E et F) pour chaque entreprise.

Dans ma base réelle, il y a plus de 1000 entreprises...il est donc impensable d'entrer manuellement les données dans ma table initiale.

Une VBA pourrait-elle me sauver ?

J'espère avoir été clair...

Merci d'avance pour vos conseils,

Luco

Bonsoir,

une proposition basée sur la structure de ton fichier exemple

Sub aargh()
    With Sheets("feuil1")
        dl = .Cells(Rows.Count, 2).End(xlUp).Row
        For i = 15 To dl
            .Range("C5") = .Cells(i, 3)
            .Range("C6") = .Cells(i, 4)
            .Cells(i, 5) = .Range("C9")
            .Cells(i, 6) = .Range("C10")
        Next i
    End With
End Sub

Bonjour,

si tes formules sont très complexes je crains que la lecture se fasse alors que le calcul n'est pas fini (VBA risque d'aller plus vite qu'elles).

Je te conseille d'ajouter :

    Do Until Application.CalculationState = xlDone
        DoEvents
    Loop

au milieu de la boucle proposée par h2so4 :

Sub aargh()
    With Sheets("feuil1")
        dl = .Cells(Rows.Count, 2).End(xlUp).Row
        For i = 15 To dl
            .Range("C5") = .Cells(i, 3)
            .Range("C6") = .Cells(i, 4)
            Do Until Application.CalculationState = xlDone
               DoEvents
           Loop
           .Cells(i, 5) = .Range("C9")
            .Cells(i, 6) = .Range("C10")
        Next i
    End With
End Sub

eric

Merci à tous les deux pour vos réponses!

Quand je fais exécuter votre macro, je reçois le message suivant : "propriété ou méthode non géré par cette méthode"

Comment l'éviter ?

Par ailleurs, je ne comprends pas bien ce bout de la macro

" dl = .Cells(Rows.Count, 2).End(xlUp).Row "

Pourriez-vous me le commenter rapidement ?

Merci d'avance pour votre aide et bon we à vous,

Luco

Bonjour,

"propriété ou méthode non géré par cette méthode"

Comment l'éviter ?

Quand tu as une erreur précise sur quelle ligne de code.

Ecrire feuil1 avec un F majuscule : Feuil1

Par ailleurs, je ne comprends pas bien ce bout de la macro

" dl = .Cells(Rows.Count, 2).End(xlUp).Row "

recherche de la dernière ligne de la colonne B

eric

Merci pour ton retour!

Je rentre d'un we sans accès à excel.

Je reçois le message d'erreur sur la ligne

"Do Until Application.CalculationState = xlDone"

(cf fichier joint)

capture d ecran 2018 04 03 a 11 08 13

Bonjour,

J'ai bien l'impression que tu es sur Mac.

Par sécurité le mieux est de squatter un PC (ou faire un double boot, ou installer un émulateur PC sur ton Mac), au moins pour ce calcul.

eric

PS : peut-être qu'en mettant tes formules dans des noms et faisant en vba un Evaluate() de ces noms il serait, par la force des choses, synchrone (?)

Si tu testes cette piste mettre les résultats dans un tableau pour pouvoir tout coller d'un coup.

Bonjour à tous les 2,

J'ai finalement réussi à faire fonctionner ma macro, mon problème était lié à un enregistrement sous un mauvais format.

@Eriic et h2so4 : vous m'avez permis de faire ma première vraie macro...avec un vrai enjeu business derrière.

Alors mille mercis, ma reconnaissance est réelle...et vous me donnez envie d'approfondir le sujet des macros!

Luc

Bonjour,

Malheureux, tu es foutu !!!

Merci pour le retour

eric

Rechercher des sujets similaires à "macro varier parametres calcul 1000 lignes"