Aide pour macro VBA

Fermé
sombreros Messages postés 2 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 10 décembre 2010 - 9 déc. 2010 à 16:54
sombreros Messages postés 2 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 10 décembre 2010 - 10 déc. 2010 à 10:34
Bonjour,

Sur un fichier excel J'ai la colonne E qui a ces celule sous validation de donné. Je souhaite que quand j'indique "NON" dans la cellule, les cellule K,L,M,N indique "-".

Les cellules contiennent deja des formules pour le cas ou j'ai OUI dans la colone E
K une validation en liste avec choix 1 ou 2 ou 3
L qui indique la valeur de C si K=1 sinon 0
M qui indique la valeur de C si K=2 sinon 0
N qui indique la valeur de C moins B si K = 3 sinon 0


Par exemple

E K L M N

OUI 1 900 0 0
NON - - - -

Donc je me demandais comment faire (si c'était possible avec une macro) pour avoir des petit " - " qui apparaisse au lieu du reste quand on indique le choix "NON en E.

Désolé pour la question un poil compliqué et bravo à ceux qui trouverons ^^

Merci

A voir également:

1 réponse

ccm81 Messages postés 10893 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 septembre 2024 2 421
Modifié par ccm81 le 9/12/2010 à 19:08
bonsoir

pour la colnne K, sans macro pas (trop) de pb, par contre avec macro le fait que Kx soit remplie avec une liste de choix, ça n'est pas très logique (ou alors ajouter le "-" a la liste de choix)
une solution macro

Private Sub MAJ()    
Const lideb = 3    
Const lifin = 4    
Dim li As Long    
Dim k As Variant, c As Variant, b As Variant    
  For li = lideb To lifin    
    k = Range("K" & li).Value    
    c = Range("C" & li).Value    
    b = Range("B" & li).Value    
    If Range("E" & li).Value = "OUI" Then    
      ' colonne L    
      If k= 1 Then    
        Range("L" & li).Value = c    
      Else    
        Range("L" & li).Value = 0    
      End If    
      ' colonne M    
      If k= 2 Then    
        Range("M" & li).Value = c    
      Else    
        Range("M" & li).Value = 0    
      End If    
      ' colonne N    
      If k= 3 Then    
        Range("N" & li).Value = c - b    
      Else    
        Range("N" & li).Value = 0    
      End If    
    Else    
      Range("K" & li).Value = "-"  ' pas conseillé    
      Range("L" & li).Value = "-"    
      Range("M" & li).Value = "-"    
      Range("N" & li).Value = "-"    
    End If    
  Next li    
End Sub    

Private Sub Worksheet_SelectionChange(ByVal Target As Range)    
  Call MAJ    
End Sub


RQ. sans macro le pb est nettement plus leger par exemple
en L =SI($E1="OUI";SI($K1=1;$C1;0);0)

bonne suite
0
sombreros Messages postés 2 Date d'inscription jeudi 9 décembre 2010 Statut Membre Dernière intervention 10 décembre 2010
10 déc. 2010 à 10:34
Merci pour ta réponse je vais tester ca dessuite ^^
0