Ecrire une valeur dans une cellule en fonction d'une autre

Résolu/Fermé
Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
- 22 juil. 2016 à 18:51
Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
- 22 juil. 2016 à 21:19
Bonjour,

Je souhaiterais dans mon tableau que, si la cellule C =1, la cellule Y soit égal à la cellule H.

et ceux pour toutes les valeurs depuis la cellule A7 jusqu’à la cellule 47

exemple :

C7=1 Y7 = H7
C8=1 Y8 = H8
....... jusqu'à A47

si C7=0 ou rien alors Y7 = 0


j'ai mis en place un code VBA, dans le module 2, mais j'ai des problèmes pour qu'il fonctionne.

------------------------------------------------------------------------

Sub Macro2()

Dim i As Integer
i = 2
Do While Cells(i, 1).Value <> ""
If Range("C" & i) = "1" Then Range("Y" & i) = Range("H" & i)
i = i + 1
Loop
End Sub

----------------------------------------------------------------------------------------
A voir également:

1 réponse

Raymond PENTIER
Messages postés
56324
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
6 juillet 2022
17 210
22 juil. 2016 à 19:06
Bonjour.

Sauf si tu y tiens absolument, il n'est pas nécessaire de passer par VBA ...
En Y7, saisir la formule =SI(C7=1;H7;0) à recopier jusqu'en Y47.
2
Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2
22 juil. 2016 à 19:54
Salut Raymond

Oui effectivement ça marche tres bien.

Moi je pensait, à une VBA, qui enclencherais le même résultat pour toutes les cellules de la feuille.

ma formule n'est pas bonne?

merci encore
0
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
530 > Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017

22 juil. 2016 à 21:01
Bonjour Titi32600,
Bonjour Raymond,

Voici l'équivalent avec une macro VBA
Sub Macro2()
Dim i As Integer
For i = 7 To 47
If Range("C" & i) = "1" Then
Range("Y" & i) = Range("H" & i)
Else
Range("Y" & i) = 0
End If
Next i
End Sub


A+
0
Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
2 > Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016

22 juil. 2016 à 21:19
Salut Gyrus

Super, ça fonctionne à merveille.

Merci encore de ton aide, ainsi que Raymond.

Titi32600
0