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 :

Parmi 3 cellules, une seule peut avoir une valeur différente de 0.


Sujet :

Macros et VBA Excel

  1. #21
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    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
    22
    23
    24
    25
    26
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
     
    On Error GoTo fin
    If Not Application.Intersect(Target, Range("E13:G13,E14:G14")) Is Nothing Then
        If Target.Value <> 0 Then
            For Each c In Range("E13:G13,E14:G14")
                If c.Address <> Target.Address And c.Row = Target.Row Then
                    c.Value = 0
                End If
            Next c
        End If
    End If
     
    If Not Application.Intersect(Target, Range("O13,Q13,O14,Q14")) Is Nothing Then
        If Target.Value <> 0 Then
            For Each c In Range("O13,Q13,O14,Q14")
                If c.Address <> Target.Address And c.Row = Target.Row Then
                    c.Value = 0
                End If
            Next c
        End If
    End If
     
    fin:
    End Sub

  2. #22
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Autre solution, pour appliquer ce code sur les lignes 10 à 100 par exemple :
    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
    22
    23
    24
    25
    26
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
     
    On Error GoTo fin
    If Not Application.Intersect(Target, Range("E10:G100")) Is Nothing Then
        If Target.Value <> 0 Then
            For Each c In Range("E" & Target.Row & ":G" & Target.Row)
                If c.Address <> Target.Address Then
                    c.Value = 0
                End If
            Next c
        End If
    End If
     
    If Not Application.Intersect(Target, Range("O10:O100,Q10:Q100")) Is Nothing Then
        If Target.Value <> 0 Then
            For Each c In Range("O" & Target.Row & ",Q" & Target.Row)
                If c.Address <> Target.Address Then
                    c.Value = 0
                End If
            Next c
        End If
    End If
     
    fin:
    End Sub

  3. #23
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    merci !!!

    bonne continuation

  4. #24
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Vu que nos messages se sont croisés, je ne sais pas si tu as vu la 2ème solution.

  5. #25
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    sublime !!!
    cela m'évite d'entrer les cellules de chaque ligne.
    comme quoi, il y a toujours moyen de faire quelque chose d'élégant (et de pratique surtout).
    encore merci !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. avoir une seule instance d'une application sur un reseau
    Par pirbd dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 28/01/2010, 19h05
  2. Réponses: 11
    Dernier message: 06/12/2005, 08h23
  3. [JUnit] Avoir une seule instance
    Par hocinema dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 25/10/2005, 15h48
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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