VBA calcul

Bonsoir amis internautes

Je viens vous demander une aide pour un projet VBA.

Je cherche une macro qui permet de calculer automatiquement le taux d'évolution d'une plage de donnée.

Je joins un exemple pour une meilleurs compréhension :

Le tableau est dans l'onglet 1 et les résultats s'affichent dans l'onglet 2

Merci d'avance

17test1.xlsx (9.47 Ko)

Salut :

essai

17test1.xlsm (20.73 Ko)

Salut

La macro fonctionne, seulement le problème c'est que j'ai plus de 50 colonnes a faire et pas seulement 2. Tu peux modifier pour paramétrer les 50 colonnes.

un grand merci d'avance.

Quelqu'un pour m'aider?

Merci d'avance

bonsoir YouyeR

Sur le fichier ci dessous, vous pouvez utiliser plusieurs colonnes

6test1-2.xlsm (21.65 Ko)

Bonjour,

Une autre proposition à étudier.

Cdlt.

10test1-2.xlsm (34.12 Ko)
Option Explicit

Public Sub Resultat2()
Dim wb As Workbook
Dim ws As Worksheet, ws2 As Worksheet
Dim tbl, arr()
Dim I As Long, J As Long

    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets("Feuil1")
    Set ws2 = wb.Worksheets("Feuil3")

    ws2.Cells(1).CurrentRegion.ClearContents

    tbl = ws.Cells(1).CurrentRegion.Value
    ReDim arr(1 To UBound(tbl, 1), 1 To UBound(tbl, 2))

    For J = 1 To UBound(tbl, 2)
        For I = 2 To UBound(tbl, 1)
            If tbl(I - 1, J) <> "" Then
                arr(I - 1, J) = tbl(I, J) / tbl(I - 1, J) - 1
            Else
                arr(I - 1, J) = ""
            End If
        Next I
    Next J

    ws2.Cells(1).Resize(UBound(tbl, 1), UBound(tbl, 2)).Value = arr

    Erase arr()
    Set ws2 = Nothing: Set ws = Nothing
    Set wb = Nothing

End Sub

Merci beaucoup pour votre aide,

j'ai finalement trouvé, les deux réponses sont correctes.

Merci

bonne soirée

Rechercher des sujets similaires à "vba calcul"