Inscrire une valeur dans une cellule VBA [Résolu]

Signaler
Messages postés
47
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2020
-
eriiic
Messages postés
23174
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 janvier 2020
-
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

Messages postés
23174
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 janvier 2020
5850
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

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
nathan027
Messages postés
47
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2020

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)
Messages postés
47
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2020

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
nathan027
Messages postés
47
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2020

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 !! :/
Messages postés
23174
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 janvier 2020
5850
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
nathan027
Messages postés
47
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
11 janvier 2020

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
Messages postés
23174
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 janvier 2020
5850
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