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 :

Cellule égale à zéro = cellule vide [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Par défaut Cellule égale à zéro = cellule vide
    Bonjours à toutes et à tous.

    J'aimerai réaliser une macro pour :
    si la cellule I3 de la feuille 6 + i soit égale à "Viandes bovine et veau" alors on selectionne M3 de la feuille 6 + i et on la copie dans la feuille "formulaire" de la colonne AZ et ligne (6+ i), sinon la cellule AZ et ligne (6 + i) de la feuille "formulaire" est vide.
    Voici ma macro :

    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
        Dim i As Integer
        Dim total As Double
     
    For i = 1 To 3
            With ThisWorkbook.Worksheets("feuil" & i)
                If .Range("M3") = "Viandes bovine et veau" Then
                    total = .Range("I3")
                End If
            End With
            ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = total
            total = 0
            If total = 0 Then
                ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = ""
                Else
             ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = total
            End If
     
        Next i
    Le problème, c'est que toute ma colonne est vide après. Je n'ai aucune valeur..

    Pouvez vous m'aider ?

    Merci d'avance

    Maxime

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut
    Bonjour,

    Tu mets ta variable total à 0.

    Donc tu rentres toujours dans ton if.

    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
    Dim i As Integer
    Dim total As Double
    
    For i = 1 To 3
     With ThisWorkbook.Worksheets("feuil" & i)
      If .Range("M3") = "Viances bovine et veau" Then
       total = .Range("I3")
      End If
     End With
    
    ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = total
    
    total = 0
    
    If total = 0 Then
     ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = ""
    Else
     ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = total
    End If
    
    Next i
    J

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Bonjour,

    Est-ce que tu n'as pas inversé les colonnes I et M :

    si la cellule I3 de la feuille 6 + i soit égale à "fruit, légume, plantes" alors on selectionne M3 de la feuille 6 + i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If .Range("M3") = "Viances bovine et veau" Then
    total = .Range("I3")
    de plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    total = 0
    If total = 0 Then
    ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = ""
    Else
    ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = total
    End If
    Comme "total" est = à 0, tu effaces la cellule de la colonne AZ.

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Par défaut
    J'ai inversé en recopiant, mais j'ai édité pour plus de compréhension. Désolé de cette étourderis.

    Je ne comprend pas trop vos réponses.
    Si je met :
    If total = 0 Then
    ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = ""
    Else
    ThisWorkbook.Worksheets("Formulaire").Range("BA" & 6 + i) = total

    En gros, si total = 0 alors tu remplace par rien sinon tu met le total.. je vois pas où ait mon erreur..

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    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 208
    Par défaut
    Parce que la ligne au dessus de :

    tu as :


  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Par défaut
    D'accord merci.
    j'ai donc enlevé le total = 0 et le "Else" voici ce que ca me donne :

    Dim i As Integer
    Dim total As Double

    For i = 1 To 3
    With ThisWorkbook.Worksheets("feuil" & i)
    If .Range("M3") = "Fruit, légume, plantes" Then
    total = .Range("I3")

    End If
    End With
    ThisWorkbook.Worksheets("Formulaire").Range("AY" & 6 + i) = total

    If total = 0 Then
    ThisWorkbook.Worksheets("Formulaire").Range("AZ" & 6 + i) = ""

    End If

    Next i


    Mais maintenant, la cellule "I3" de la feuille 1 est copié sur toute la colonne AZ &6+i

  7. #7
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Si tu pouvais éviter d'ouvrir plusieurs discussions sur le même sujet, ce serait plus facile pour les intervenants .

    Cordialement.

  8. #8
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Par défaut
    Citation Envoyé par gFZT82 Voir le message
    Si tu pouvais éviter d'ouvrir plusieurs discussions sur le même sujet, ce serait plus facile pour les intervenants .

    Cordialement.
    Je voulais supprimer mon ancien post, mais j'ai pas trouvé comment faire (ou pas assez cherché ).

    Cordialement, Maxime

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

Discussions similaires

  1. [LibreOffice][Tableur] Supression de lignes si une cellule est égale à zéro
    Par coleoptere dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 01/12/2014, 08h41
  2. [XL-2010] Cellule égale 0 = cellule vide
    Par saoui dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/06/2012, 15h20
  3. [XL-2002] Comparaison de dates si cellule de référence est vide
    Par Domi2 dans le forum Excel
    Réponses: 6
    Dernier message: 24/09/2009, 12h12
  4. Cellule de taille fixe vide
    Par bobspike dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/07/2008, 10h34
  5. Sélection de cellules égales
    Par yoyo30 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/11/2007, 14h41

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