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

Résolu/Fermé
Titi32600 Messages postés 87 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 87 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 58760 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 décembre 2024 17 253
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 87 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 524 > Titi32600 Messages postés 87 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 87 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