OVH Cloud OVH Cloud

Condition sous VBA

4 réponses
Avatar
PhilippeD1
Bonjour,

plus je travaille sur Excel, plus je découvre les nombreuses possibilités de
ce logiciel avec votre aide.

Je souhaiterais savoir s'il y a une possibilité de créer un remplissage
automatique des cellules sous conditions.
Par exemple : Dans la cellule A1, il y a écrit "YZ", je souhaiterais qu
'automatiquement excel écrive "3" dans la cellule B1.
En mettant la formule suivante : =Si(A1=YZ;"3"), cela fonctionne, cependant
j'ai un grand nombre de condition à enregistrer et, je pense que la formule
sera trop longue.
Egalement, je souhaiterais que si dans la cellule A1, il y a écrit "YZ" et
que dans la cellule B1, il y a écrit "3", alors dans la cellule C1 je
souhaite voir apparaître les lettres "XVD".
Si vous avez eu le courage de tout lire, de me comprendre et, en plus vous
possédez un début de solution...
Alors là, respect Madame ou Monsieur...
Merci d'avance
A +

4 réponses

Avatar
AV
j'ai un grand nombre de condition à enregistrer et, je pense que la formule
sera trop longue.


Si tu ne donnes pas les conditions, ça va être dur de te donner une solution !

Egalement, je souhaiterais que si dans la cellule A1, il y a écrit "YZ" et
que dans la cellule B1, il y a écrit "3", alors dans la cellule C1 je
souhaite voir apparaître les lettres "XVD".


C'est la même formule qu'il faut écrire en C1 et B1 !

AV

Avatar
CAP2
Salut,

pour que B1 prenne 3 (ou autre chose) comme valeur en fonction de la valeur
de A1, tu cliques-droit sur l'onglet de ta feuille de calcul, et tu choisis
"visualiser le code", puis tu mets ce code dans la feuille qui apparaît :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If [A1] <> "" Then

Select Case [A1]
Case "YZ"
[B1] = 3
Case "AB"
[B1] = 4
End Select

End If

End Sub

Pour rajouter des conditions pour d'autres valeurs de A1, tu remarques à
chaque fois :

Case "Ta valeur"
[B1]=valeur à affecter

En ce qui concerne ton 2ème point, le test me semble inutile sachant que,
avec le code que je te donne, dès que tu mettras YZ en A1, 3 viendra se
mettre en B1...Donc il te suffit de rajouter dans le code du dessus une
ligne en dessous de [B1]=3 qui sera :

[C1]="XVD"

Sinon, un truc du style conviendra :

If [A1]="YZ" And [B1]=3 then
[C1]="XVD"
End if

Ca marche ?

CAP2
Avatar
PhilippeD1
Salut CAP2,

Respect...
Grace à toi, j'ai obtenu ce que je voulais mettre en oeuvre.
Merci
A +


Salut,

pour que B1 prenne 3 (ou autre chose) comme valeur en fonction de la valeur
de A1, tu cliques-droit sur l'onglet de ta feuille de calcul, et tu choisis
"visualiser le code", puis tu mets ce code dans la feuille qui apparaît :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If [A1] <> "" Then

Select Case [A1]
Case "YZ"
[B1] = 3
Case "AB"
[B1] = 4
End Select

End If

End Sub

Pour rajouter des conditions pour d'autres valeurs de A1, tu remarques à
chaque fois :

Case "Ta valeur"
[B1]=valeur à affecter

En ce qui concerne ton 2ème point, le test me semble inutile sachant que,
avec le code que je te donne, dès que tu mettras YZ en A1, 3 viendra se
mettre en B1...Donc il te suffit de rajouter dans le code du dessus une
ligne en dessous de [B1]=3 qui sera :

[C1]="XVD"

Sinon, un truc du style conviendra :

If [A1]="YZ" And [B1]=3 then
[C1]="XVD"
End if

Ca marche ?

CAP2





Avatar
CAP2
Salut,

content de t'avoir filé un coup de main ;o)

CAP2