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 :

Donner une valeur en fonction d'une autre [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut Donner une valeur en fonction d'une autre
    Bonjour à tous,

    j'ai quatre colonne : a b c et d

    ma première colonne est vide

    J'aimerais lui affecter une valeur en fonction des valeurs des colonnes B, C et D et ce sur toutes les lignes (jusqu'à ce que la cellule D soit vide).

    Mes conditions sont les suivantes :

    Si val(D) est différent de -1 alors A=3

    si val(D)=-1 et val (C) est vide et val(B) est vide alors val(A)=0

    si val(D)=-1 et val(C) est vide et que val(B) est non vide alors val(A)=1

    si val(D)=-1 et que val(B) est non vide alors val(A)=2

    Si la cellule D est vide alors j'arrête ma macro.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Bonjour,

    Je n'ai pas testé mais ça doit ressembler à ça :

    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
    Sub test()
        Dim c As Range
        For Each c In Range("D1", Cells(Rows.Count, 4).End(xlUp))
            If c.Value = "" Then Exit Sub
            If c.Value <> -1 Then
                c.Offset(, -3) = 3
            ElseIf c.Offset(, -1) = "" And c.Offset(, -2) = "" Then
                c.Offset(, -3) = 0
            ElseIf c.Offset(, -1) = "" And c.Offset(, -2) <> "" Then
                c.Offset(, -3) = 1
            ElseIf c.Offset(, -2) <> "" Then
                c.Offset(, -3) = 2
            End If
        Next c
    End Sub
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Bonjour Daniel.C,

    désolé pour le retard.

    Ca fonctionne parfaitement.

    Merci.

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

Discussions similaires

  1. [XL-2007] Extraire des lignes en fonction d'une valeur de cellule dans un autre fichier
    Par MisterTambo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/08/2009, 10h42
  2. Réponses: 1
    Dernier message: 10/02/2008, 19h56
  3. Réponses: 13
    Dernier message: 05/11/2007, 09h00
  4. Réponses: 2
    Dernier message: 28/05/2007, 09h28
  5. Réponses: 15
    Dernier message: 02/05/2007, 18h04

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