Menu

Ecrire une valeur dans une cellule en fonction d'une autre [Résolu/Fermé]

Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
- - Dernière réponse : 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

----------------------------------------------------------------------------------------
Afficher la suite 

1 réponse

Messages postés
49287
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
11 juillet 2019
10217
0
Merci
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.
Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
1 -
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
Gyrus
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
443 > Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
-
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+
Titi32600
Messages postés
88
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
20 août 2017
1 > Gyrus
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
-
Salut Gyrus

Super, ça fonctionne à merveille.

Merci encore de ton aide, ainsi que Raymond.

Titi32600