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 :

Cellules en négatif sous condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut Cellules en négatif sous condition
    Bonjour
    Je cherche désespérément de trouver une solution mon problème.
    L'idée est, à l'ouverture et/ou fermeture de mon fichier, de lire les informations indiquées en colonne C (valeurs : Entrées ou Sorties) et de modifier les valeurs des cellules de la ligne en positif ou négatif :
    - Si C7 est égal à Sorties alors mes valeurs, s'il y en a, sont modifiées en négatif, sinon mes valeurs, s'il y en a, sont en positif
    - Si C8 est égal à Sorties alors mes valeurs, s'il y en a, sont modifiées en négatif, sinon mes valeurs, s'il y en a, sont en positif
    - Etc....
    Et cela pour chaque ligne
    Merci par avance pour votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu peux transférer ta plage dans un tableau, parcourir chaque ligne et tester la valeur de ta colonne C.
    Si ça correspond à "Sorties", alors boucler sur chaque colonne, et passer en négatif les valeurs positives

    exemple à main levé, à adapter

    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 toto()
    Dim Tabl(), i As Long, j As Long
    Const CIBLE As String = "Sorties"
        Tabl = Feuil1.Cells(1, 1).CurrentRegion.Value
     
    For i = LBound(Tabl, 1) To UBound(Tabl, 1)
        If Tabl(i, 3) = CIBLE Then
            For j = LBound(Tabl, 2) To UBound(Tabl, 2)
                If IsNumeric(Tabl(i, j)) And Tabl(i, j) > 0 Then Tabl(i, j) = Tabl(i, j) * -1
            Next j
        End If
    Next i
     
    Feuil1.Cells(1, 1).Resize(UBound(Tabl, 1), UBound(Tabl, 2)).Value = Tabl
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut
    Bonjour joe.levrai
    Merci
    Je n'arrive pas à l'adapter, j'ai un message d'erreur Object Required
    Ma feuille GENERAL ressemble à cela
    Nom : Cellules_Negatives.png
Affichages : 904
Taille : 31,2 Ko
    Je veux bien un coup de main
    Merci
    Images attachées Images attachées  

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Tes données commencent en ligne 7 et pas en ligne 1
    Et je pense que tu n'as pas modifié la feuille où traiter

    remplace NomDeMaFeuille par le vrai nom de ta feuille

    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
    Sub toto()
    Dim Tabl(), i As Long, j As Long
    Const CIBLE As String = "Sorties"
    Const MAFEUILLE As String = "NomDeMaFeuille"
        With ThisWorkbook.Worksheets(MAFEUILLE).Cells(7, 1).CurrentRegion
            Tabl = .Offset(6, 0).Resize(.Rows.Count - 6, .Columns.Count).Value
        End With
     
    For i = LBound(Tabl, 1) To UBound(Tabl, 1)
        If Tabl(i, 3) = CIBLE Then
            For j = LBound(Tabl, 2) To UBound(Tabl, 2)
                If IsNumeric(Tabl(i, j)) And Tabl(i, j) > 0 And Not Tabl(i, j) = "" Then Tabl(i, j) = Tabl(i, j) * -1
            Next j
        End If
    Next i
     
        With ThisWorkbook.Worksheets(MAFEUILLE).Cells(7, 1).CurrentRegion
            .Offset(6, 0).Resize(.Rows.Count - 6, .Columns.Count).Value = Tabl
        End With
    End Sub

    EDIT : cela dit, en regardant ta copie écran, tu pourrais te passer de VBA et juste travailler sur les formules de tes cases qui font les totaux (en haut de ta feuille)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut
    Yes, cela fonctionne
    Et si je veux mettre également la condition Si CIBLE="Entrées" pour mettre la valeur en positif ?
    Afin de gérer les deux cas
    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut
    Le but est de pouvoir modifier en positif ou négatif en fonction des valeurs Entrées ou Sorties

Discussions similaires

  1. Déplacement de cellules de couleurs sous condition
    Par webjfr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2012, 20h38
  2. Cellule en couleur sous condition
    Par devdev dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/03/2009, 09h35
  3. Colorier cellule de gatagrid sous condition
    Par skunkies dans le forum Windows Forms
    Réponses: 10
    Dernier message: 25/11/2008, 16h09
  4. selection de cellules d'une colonne sous condition
    Par Mounamidou dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/10/2007, 14h09
  5. copier des cellules d'une feuille dans une autres sous condition
    Par olivertwist dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/05/2007, 10h42

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