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 :

Changement valeur d'une cellule en fonction de valeurs d'autres cellules [XL-97]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Changement valeur d'une cellule en fonction de valeurs d'autres cellules
    Bonjour,

    je me permet de poster sur le forum car en dépit de mes recherches sur des topics de ce genre déjà traité, je n'ai pas trouvé ma réponse.

    Voici ce que je cherche :

    J'ai des valeurs dans une colonne Range(A3:A65000) qui sont en fait un décompte de stock.
    Il y aura un moment où une cellule de cette Range sera égale à zéro qui signifiera qu'il n'y aura plus de stock. Ces valeurs sont ajouté manuellement sans formules.

    si on indique zéro dans l'une des cellule de cette plage A3:A65000 alors la cellule G1 indiquera "Soldé" dans le cas contraire, il y aura inscrit "non soldé"

    cette macro, je pense, se passera dans cet évènement
    "Private Sub Worksheet_Change(ByVal Target As Range)" mais je ne maîtrise pas du tout cet évènement.

    Pourriez vous m'aider?

    Merci.

    Yoann.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Si c'est uniquement pour visualiser, il ne faut pas de MACRO
    Aller dans Format/Cellule [Nombre] - Choisir Personnalisée et dans type écrire ceci "Non Soldé";0;"Soldé"

  3. #3
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir.

    Pourquoi en G1? Ce n'est pas en colonne G sur la ligne modifiée entre 3 et 65000?

    Si oui, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Application.Intersect(Target, Me.Range("A3:A65000")) Is Nothing Then Exit Sub
     
    Target.Offset(0, 6).Value = IIf(Target.Value = 0, "Soldé", "Non Soldé")
     
    End Sub
    Cordialement,

    PGZ

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Pourquoi en G1? Ce n'est pas en colonne G sur la ligne modifiée entre 3 et 65000?
    Merci pgz pour ta réponse. Le code fonctionne mais en fait ce que je veux que le résultat "soldé" ou "non soldé" s'affiche uniquement dans une cellule. La cellule G1 était un exemple car je modifierai le code en fonction des cellules cibles.

    Pour mieux expliquer, une feuille correspondra à un lot sur lequel on enlèvera des quantité fournit à des client. ici, les quantités seront mises dans la range G3:g6500 (le nombre de cellule rempli sera fonction du nombre de clients jusqu’à ce que notre stock soit à zéro)

    Par exemple en A1 on a un stock initial de 500
    On a un client qui prend 400 (valeur en cellule B3) donc en A3 il reste 100 la fiche est "non soldé" et c'est affiché en G1.
    Puis un autre client prend 100 donc le stock est à 0 en cellule A4 et de ce fait en G1, il est noté "Soldé".

    Je vais essayer avec ton code car il a le mérite de fonctionner et je pense pouvoir m'appuyer dessus. Je ne suis pas contre votre avis et votre aide.

    Merci encore.

    Yoann.

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    En G1 mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(A:A;"=0")>0;"soldé";"non soldé")
    Si on trouve la valeur 0 dans la colonne A on écrit "soldé" sinon "non soldé"

    Edit : Pas tenu compte de XL97 peut-être NB.SI() pas encore intégré à cette version.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par rjamin Voir le message
    Bonjour,

    En G1 mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(A:A;"=0")>0;"soldé";"non soldé")
    Si on trouve la valeur 0 dans la colonne A on écrit "soldé" sinon "non soldé"

    Edit : Pas tenu compte de XL97 peut-être NB.SI() pas encore intégré à cette version.
    Merci beaucoup, cela fonctionne très bien!

    Je te remercie. C'est certain que cela est plus efficace que passer par une macro VBA.

    Merci encore.

    Je poursuis quand même mes recherches mais je met ce topic en résolu.

    Au revoir.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/05/2015, 20h57
  2. Réponses: 2
    Dernier message: 17/03/2011, 21h45
  3. [XL-2003] Remplissage d'une cellule en fonction du contenu d'autres cellules.
    Par homer83140 dans le forum Excel
    Réponses: 27
    Dernier message: 13/01/2011, 16h39
  4. Réponses: 3
    Dernier message: 18/12/2009, 12h33
  5. Réponses: 2
    Dernier message: 13/12/2007, 15h02

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