Inscrire une valeur dans une cellule VBA

Résolu/Fermé
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 - Modifié le 30 déc. 2019 à 15:06
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 2 janv. 2020 à 08:36
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

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
Modifié le 30 déc. 2019 à 15:18
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
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 1
31 déc. 2019 à 10:46
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
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 1
31 déc. 2019 à 11:15
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
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 1
31 déc. 2019 à 11:35
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
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
31 déc. 2019 à 12:47
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
nathan027 Messages postés 101 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 28 juin 2021 1
Modifié le 2 janv. 2020 à 08:14
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
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
2 janv. 2020 à 08:36
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