Coefficient multiplicateur

Bonjour,

Quelqu'un peux me dire comment ont code en VBA la fonction :

En H2 j'ai un coefficient et je souhaite appliquer ce coeff a toute la colonne C. sachant que je souhaite changer le coeff plusieurs fois

Merci d’avance

Bonjour

un exemple pour 30 valeurs en colonne C en commençant en ligne 2 ->

for i = 2 to 30
range("xxx") = range("H2") * Range("C" & i)
Next

Si ok, merci lors de ta réponse de cloturer le fil en cliquant sur le V vert à coté du bouton EDITER

Amicalement

d'abord merci de votre réponse,

j'ai collé le code dans la feuille mais le coeff je le change ou ?

re,

j'ai collé le code dans la feuille mais le coeff je le change ou ?

tu modifies H2 puis tu exécutes la macro

désolé je savais pas comment revenir au sujet.

je joint le fichier sa sera plus simple. j'ai pas réussie à créer votre macro.

Re,

Précédemment tu parlais de H2. ici on est sur G5

Dans une autre feuille "Poste livraison" tu as un code qui fait ce que tu demandes. Pourquoi ne pas adapter ce code à ta feuille "cable liaison" ??

Salut,

J'avais préparé une réponse pour ton autre fil, mais Dan - que je salue ici - m'a coupé l'herbe sous les pieds

Je ne vois pas comment résoudre ton problème autrement qu’en utilisant une colonne de plus.

Dans le fichier ci-joint, j’ai déplacé ton ancienne colonne C dans la colonne O (colonne que tu peux masquer ou déplacer sur une autre feuille) et dans la nouvelle colonne C j’ai placé une formule incrémentée vers le bas qui répond à ta demande.

Cordialement.

OK ça marche

Au début je souhaité faire l’opération sans une autre colonne supplémentaire mais moi non plus je ne vois pas d'autre solution.

Merci à vous deux.

Bonjour,

Ci-joint réponse à la question posée. Cdlt

Option Explicit
Public Sub Majoration()
'Ctrl
Dim Majoration As Double
Dim sH As Worksheet
Dim derLigne As Integer
Dim Plage As Range
Dim Cellule As Range

    Application.ScreenUpdating = False
    Set sH = Worksheets("Câbles-liaisons")
    With sH
        If .[G5] = "" Or .[G5] = 0 Then Exit Sub
        Majoration = .[G5]
        derLigne = .Range("A" & Rows.Count).End(xlUp).Row
        Set Plage = .Range("C2:" & "C" & derLigne)
        For Each Cellule In Plage
            Cellule = Round(Cellule * Majoration, 2)
        Next
    End With
    Set sH = Nothing: Set Plage = Nothing
End Sub

Re,

Déso yvouille, mais comme j'avais vu le doublon, tu l'auras compris il valait mieux rester sur ce fil.

Bon cela ne sert à rien de remettre une pastille sur ce que tu as proposé puisque Rototo y trouve son bonheur

bonjour Jean-Eric

ton idée elle est bien mais le problème c'est que je ne peut plus retrouver mon prix d'origine.

cordialement

Bonjour,

Pour revenir en arrière, si le coefficient était 1,10, relancer le calcul avec =1/1,1 pour retrouver le montant initial

J'ai modifié le code pour supprimer l'arrondi à 2 décimales. Si tu as de nombreuses modifs de coefs, il te faudra gérer leurs évolutions.

Cdlt.

Option Explicit
Public Sub Majoration()
'Ctrl+q
Dim Majoration As Double
Dim sH As Worksheet
Dim derLigne As Integer
Dim Plage As Range
Dim Cellule As Range

    Application.ScreenUpdating = False
    Set sH = Worksheets("Câbles-liaisons")
    With sH
        If .[G5] = "" Or .[G5] = 0 Then Exit Sub
        Majoration = .[G5]
        derLigne = .Range("A" & Rows.Count).End(xlUp).Row
        Set Plage = .Range("C2:" & "C" & derLigne)
        For Each Cellule In Plage
            Cellule = Cellule * Majoration
        Next
    End With
    Set sH = Nothing: Set Plage = Nothing
End Sub
Rechercher des sujets similaires à "coefficient multiplicateur"