Inscrire une valeur dans une cellule VBA

Résolu
nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour

J'aimerai savoir s'il est possible de donner une valeur à une cellule en fonction de ce qui serait écrit dans une autre sans avoir a écrire dans la cellule (en passant par VBA je suppose)
Ce que je voudrai c'est ça en gros
Quand dans ma cellule F15 il y la lettre "F" que ma cellule H15 = 100%
ceux de la ligne F11 à F1500

Merci d'avance

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    ceux de la ligne F11 à F1500
    Oui ? Et ?
    Tu as oublié la fin de ta phrase...
    Et j'ai bien l'impression qu'une simple formule suffise.
    eric

    0
    1. nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
       
      Oui désolé je n'avais pas vu.
      En fait Quand dans la cellule F11 il y écrit "F" je veux que dans G11 il y ai écrit 100%
      donc de F11 à F1500 et de G11 à G1500
      Suis je clair ? (quand on écrit c'est parfois difficile de retranscrire ce qu'on pense)
      0
  2. nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
     
    J'ai réussi à trouver je partage (pensez juste à mettre les cases en %)

    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 And Target.Column = 6 Then

    Select Case Target.Value
    Case "n"
    Cells(Target.Row, 7) = "1"

    Case Else
    Cells(Target.Row, 7) = ""

    End Select
    End If
    End Sub
    0
    1. nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
       
      Mon seul soucis c'est que j'ai deux code "worksheet" et que ca ce n'est pas possible mais je sais pas comment faire du coup !! :/
      0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    tu parles de "F", ensuite c'est "n"...
    Tu parles de la colonne H qui devient G...
    Essaie d'être cohérent.

    Pas besoin de macro, en G11 :
    =SI(F11="F";1;"")

    à tirer vers le bas
    eric
    0
    1. nathan027 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   1
       
      c'est exactement pareil en fait j'ai juste changé quelques petites choses dans mon tableau donc les colonnes ne sont plus les même et pour la lettre "n" ou "F" .. si juste un changement de lettre perturbe les gens ...
      Et non si j'avais voulu une fonction "SI" , je n'aurais pas précisé que je voulais du VBA ... ma cellule devait rester libre d'écrire autre chose.

      Mais pour être cohérent avec le poste de départ

      Option Explicit
      Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Count = 1 And Target.Column = 5 Then

      Select Case Target.Value
      Case "F"
      Cells(Target.Row, 6) = "1"

      Case Else
      Cells(Target.Row, 6) = ""

      End Select
      End If
      End Sub
      0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Pas bonjour non plus,
    en disant : en passant par VBA je suppose , ne sous-entend pas vba obligatoire...
    Ton code pourrait être beaucoup plus court mais bon.
    =1
    (numérique) et non = "1" (chaine)
    Sinon le format % ne fera rien.
    eric

    0