[Catégorie modifiée VB6 --> VBA] Modification affichage cellule en fonction séle

Résolu
cs_Juju1988 Messages postés 70 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 juin 2011 - 3 sept. 2010 à 15:14
cs_Juju1988 Messages postés 70 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 juin 2011 - 7 sept. 2010 à 09:11
Bonjour,

Je suis actuellement en stage et débutante en vba. J'ai une cellule avec un critère de validation autorisant une liste.
J'ai donc la possibilité de sélectionner (comme dans une liste déroulante) un traitement dans ma cellule.
Comment faire pour que en fonction du traitement sélectionné cela m'affiche par exemple "toto" en cellule H9?
Et où placer mon code?
Je veux que ça me le fasse automatiquement à chaque changement dans la sélection de ma cellule...

J'espère que j'ai été assez claire sinon n'hésitez pas à me poser des questions...

Merci d'avance

3 réponses

cs_Juju1988 Messages postés 70 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 juin 2011
7 sept. 2010 à 09:11
Voici la bonne réponse :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$4" Then
    Application.EnableEvents = False
    If Target.Value "Recyclage" Or Target.Value "Valorisation" Then
        Range("N34").Value = "Lab " & Target.Value
        Range("O34").Value = "Spec" & Target.Value
        Range("P34").Value = "Ind " & Target.Value & " Product"
    Else
        Range("N34:P34").ClearContents
    End If
    Application.EnableEvents = True
End If
End Sub


Et il fallait placer le code dans la feuille, merci pour votre aide
3
cs_Juju1988 Messages postés 70 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 juin 2011
3 sept. 2010 à 15:47
En attendant une réponse de votre part. Je me suis crée une combobox pour essayer de faire comme je sais faire on va dire.
Mais je ne sais pas comment remplir ma combobox j'ai cherché sur les forums... et on dit qu'il existe un rowsource dans la fenêtre propriété du combo mais je ne le trouve pas et j'ai essayé de trouver l'évènement initialize du combo mais introuvable aussi.
Merci de m'éclairer aussi sur ces mystères...

Désolée pour ces questions "bête" mais je n'ai jamais fait de création sous excel...
0
cs_Juju1988 Messages postés 70 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 21 juin 2011
6 sept. 2010 à 14:00
J'aimerai qu'à chaque fois que la cellule "E4" est modifiée (l'utilisateur sélectionne un nouveau traitement) cela change l'affichage de mon tableau. Pour ça j'utilise cette fonction :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Target = "E4"

If Range(Target).Value "Recyclage" Then                     'Si traitement recyclage alors il faut :
        Range("N34").Value = "Lab Recyclage"                    'Remplir l'en tête de N34, O34 et P34
        Range("O34").Value = "Spec Recyclage"
        Range("P34").Value = "Ind Recyclage Product"
        ActiveWorkbook.Save                                     'Sauvegarde du classeur
    Else
        If Range(Target).Value = "Valorisation" Then
            Range("N34").Value = "Lab Valorisation"             'Remplir l'en tête de N34, O34 et P34
            Range("O34").Value = "Spec Valorisation"
            Range("P34").Value = "Ind Valorisation Product"
            ActiveWorkbook.Save                                 'Sauvegarde du classeur
    Else
        Range("N34").Value = ""
        Range("O34").Value = ""
        Range("P34").Value = ""
        End If
    End If
End Sub


Cependant lorsque je sélectionne la cellule E3 cela m'execute aussi cette fonction, comment faire? Je débute et je ne sais pas bien utilisé toutes les fonctions vba ...
0
Rejoignez-nous