Probleme VBA

Bonjour,

Je souhaiterais faire quelquepas simple à expliquer.
En faite avec Userform j'y arrive mais pas avec des cellules directement mais c'est peut-être impossible.

imaginez que j'ai une cellule "A1" ou j'ai mon cout de revient
en "A2" j'ai mon coeff et en "A3" j'ai mon prix de vente

Je voudrais que lorsque je modifie mon coeff le prix de vente change automatiquement et inversement or si j'ai une formule dans ces cellule je vais l'effacer en écrivant.
Je ne veux ni bouton, ni raccourcis clavier pour activer la macro
J'ai bien réussi en mettant des textbox mais je voudrais le faire sans !

Quelqu'un à une idée ??

vince

4 réponses

  1. re

    Const PR = "B1"
    Const Coeff = "D2"
    Const PV = "B3"
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim plage As Range
    Dim ad As String
    Set plage = Union(Range(Coeff), Range(PV))
    If Not Intersect(Target, plage) Is Nothing Then
      ad = Target.Address
      ad = Replace(ad, "$", "")
        Select Case ad
          Case Coeff
             Range(PV) = Range(PR) * Range(Coeff)
          Case PV
             Range(Coeff) = Range(PV) / Range(PR)
        End Select
    End If
    End Sub

    et tu mets ce que tu veux pour les constantes
    bonne suite
    1. par contre je vois marqué Const plage = "B2:B3"
      je met quoi si mon cout de revient est en D74
      mon coeff en X74 et mon prix de vente en X77 ??
      1. de rien
        et dieu n'a rien à voir avec tout ça

        RQ. si le pb est bouclé peux tu le (les) mettre à Résolu

        bonne suite
        1. re

          est ce que celà correspond ?

          Const plage = "B2:B3"      
          
          Private Sub Worksheet_Change(ByVal Target As Range)      
          Dim li As Long      
          If Not Intersect(Target, Range(plage)) Is Nothing Then      
            li = Target.Row      
              Select Case li      
                Case 2      
                  Cells(3, 2) = Cells(2, 2) * Cells(1, 2)      
                Case 3      
                  Cells(2, 2) = Cells(3, 2) / Cells(1, 2)      
              End Select      
          End If      
          End Sub  
           
              A        B   
          1  PR       12   
          2  Coeff     5   
          3  PV       60   
          

          bonne suite
          1. tu es un dieu ccm81 merci beaucoup