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

Messages postés
70
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
21 juin 2011
- - Dernière réponse : 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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
70
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
21 juin 2011
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 192 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Juju1988
Messages postés
70
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
21 juin 2011
0
Merci
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...
Commenter la réponse de cs_Juju1988
Messages postés
70
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
21 juin 2011
0
Merci
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 ...
Commenter la réponse de cs_Juju1988