IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA modifier plage de cellules sur saisie [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut VBA modifier plage de cellules sur saisie
    Bonjour !!

    le titre est pas tres clair donc je vais essayer de mieux m'expliquer.

    Sur une ligne j'ai des cellules qui peuvent prendre les valeurs "non debuté"; "en cours" et "ok".
    Je souhaite que lorsque l'utilisateur choisi "en cours" pour une cellule, toutes les cellules precedentes de la plage se mettent en "ok" et toutes les suivantes en "non debuté"

    je pensais le mettre l'action dans une
    Sub Worksheet_Change(ByVal Target As Range)

    J'ai essayé plusieurs methodes qui ne marchent vraiment pas donc si quelqu'un a une idée, elle sera la bienvenue !!

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    Bonjour polo,
    Sur une ligne j'ai des cellules qui peuvent prendre les valeurs "non debuté"; "en cours" et "ok".
    c'est quoi la plage de tes valeurs ? ( c'est un range bien précis ?) (une ligne précise peut etre ?)

    toutes les cellules precedentes de la plage se mettent en "ok" et toutes les suivantes en "non debuté"
    l'utilisateur va changer directement dans la case celle qui est en cours ? et les autres valeur de ta plage change automatiquement ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut
    bonjour dodo69,

    c'est quoi la plage de tes valeurs ? ( c'est un range bien précis ?) (une ligne précise peut etre ?)
    la plage de cellules qui prend ces valeurs est F45:S45

    l'utilisateur va changer directement dans la case celle qui est en cours ? et les autres valeur de ta plage change automatiquement ?
    C'est exactement ça !

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    J'ai essayé de prendre en compte ce que j'ai compris

    Essaye ca

    code à placer sur la feuille concernée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim colonne_en_cours As Long
    Dim colonne As Long
     
    If Target.Value = "en cours" Then
        colonne_en_cours = Target.Column
     
     
        For colonne = 6 To 19
            If colonne < colonne_en_cours Then
                Cells(45, colonne) = "ok"
                ElseIf colonne > colonne_en_cours Then
                    Cells(45, colonne) = "non débuté"
            End If
        Next colonne
    End If
     
    End Sub
    En espérant que cela te convienne

    Cdlt
    DoDo

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut
    merci dodo69 ! ça marche très bien !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire une copie d'une plage de cellules sur x feuilles
    Par La Zélie dans le forum Excel
    Réponses: 4
    Dernier message: 11/06/2008, 08h55
  2. [VBA-E]Couleur de cellule sur toute une ligne
    Par Kaiba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/03/2007, 11h01
  3. [VBA-Excel] - protection plage de cellule sur i feuilles
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 01/02/2007, 16h52
  4. sélection plage de cellule sur Msflexgrid
    Par Charly45 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/12/2006, 15h35
  5. [VBA-E]selectionner plusieurs cellules sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/02/2006, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo