Conversion valeur cellules Excel

Bonjour

J'aurai besoin d'aide pour la problématique suivante :

J'aimerai créer un bouton associé à une macro me permettant de multiplier les cellules des différentes lignes par un facteur (F). A chaque ligne correspond un facteur spécifique (F ligne 1, F ligne 2, F ligne 3, etc) et un deuxième bouton me permettrait de revenir à la valeur initiale (division par F ligne 1, F ligne 2, F ligne 3, etc).

Les deux boutons seraient alternativement activés.

Je vous remercie pour votre aide

7test.xlsm (18.80 Ko)

Bonsoir,

Une première moitié du chemin (si j'ai bien compris et n'ai rien omis!?):

Private Sub CommandButton1_Click()
CommandButton2.Enabled = True
CommandButton1.Enabled = False
For lig = 3 To Cells(Rows.Count, 5).End(xlUp).Row
    For col = 1 To 3
        Cells(lig, col) = Cells(lig, col) * Cells(lig, 5)
    Next col
Next lig
End Sub

Je te laisse le soin de découvrir (et pourquoi pas d'adapter pour la seconde partie du chemin?)

Bonjour

Je vous remercie pour cette piste

Je comprend la plupart des lignes à l'exception de cette ligne

For lig = 3 To Cells(Rows.Count, 5).End(xlUp).Row

quelle est l'utilité de cette fonction ?

Merci de votre aide

Bonjour,

Rows.Count donne le nombre de lignes dans la feuille de calcul (65.536 jusqu'à Excel 2003; 1.048.576 depuis Excel 2007)

Cells(Rows.Count,5) désigne la dernière cellule de la colonne E

Cells(Rows.Count, 5).End(xlUp) donne une référence à la première cellule non-vide, en remontant depuis le bas de la colonne E (autrement dit la dernière cellule non-vide de la colonne en question

Cells(Rows.Count, 5).End(xlUp).Row donne le n° de ligne de cette cellule

For lig = 3 To Cells(Rows.Count, 5).End(xlUp).Row permet de créer une boucle qui passera en revue tous les éléments compris entre la 3e ligne et la dernière ligne ayant un contenu en colonne E

C'est plus clair?

Bonjour,

Une autre proposition.

Cdlt.

1test-2.xlsm (26.74 Ko)
Private Sub CommandButton1_Click()
    tbl = Cells(3, 1).CurrentRegion.Value
    tbl2 = Cells(3, 5).CurrentRegion.Value
    If UBound(tbl) <> UBound(tbl2) Then Exit Sub
    For I = 1 To UBound(tbl)
        For J = 1 To UBound(tbl, 2)
            tbl(I, J) = tbl(I, J) * tbl2(I, 1)
        Next J
    Next I
    Cells(3, 1).CurrentRegion.Value = tbl
End Sub
Rechercher des sujets similaires à "conversion valeur"