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 :

action sur des cellules non vides [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut action sur des cellules non vides
    Bonjour a tous,
    sur une colone, j'essaie de remplir de couleur verte les cellules non vides avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub TEST()
    'mise en couleur vert
    Dim numdl, i, plein as variant
     numdl = Range("c65536").End(xlUp).Row
    For i = 4 To numdl
        Range("c" & i).Select
               plein = ActiveCell
            If plein = Not Empty Then Selection.Interior.ColorIndex = 4
            Next i
    End Sub
    et ça ne fonctionne pas
    en remplaçant le "not empty" par "empty" ça fonctionnait pour remplir toutes les cellules vides
    alors pourquoi pas dans les non vides
    merci pour votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Points : 225
    Points
    225
    Par défaut
    Hello,

    Pourquoi, je ne saurais te le dire, mais si tu remplaces cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If plein = Not Empty Then Selection.Interior.ColorIndex = 4
    par cette ligne ça marche !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If plein <> "" Then Selection.Interior.ColorIndex = 4
    Bye.

    Anton.
    Cdt, Antonio.

  3. #3
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Pourquoi, je ne saurais te le dire
    Dans ce cas je vais essayer de le faire pour toi.

    IsEmpty s'utilise ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty(Range("c" & i)) Then
    Is empty renvoie un booléen vrai si vide faux si plein donc avec le not on inverse. Le test est vrai si la cellule est pleine.
    Ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If plein <> "" Then
    test le contenue de la celulle

    Quelque remarque concernant le code.
    Déclarer les variable en variant n'est pas vraiment une bonne habitude. C'est le type de variable qui prend le plus de mémoire ce qui peu ralentir de gros code.

    Deuxièmement toujours pour la déclaration de variable si on écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim i, j , k as integer
    seul k sera un entier, il faut écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim i as integer, j as integer, k as integer

    Le code corrigé et simplifié donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub TEST()
    'mise en couleur vert
    Dim numdl as integer, i as integer
    numdl = Range("c65536").End(xlUp).Row
    For i = 4 To numdl
            If Not IsEmpty(Range("c" & i)) Then Selection.Interior.ColorIndex = 4
    Next i
    End Sub
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  4. #4
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    un grand merci a vous deux pour votre aide

    le probleme est résolu

    j'avoue avoir du mal avec les declaration de variable car j'ai du mal a percevoir quelle est celui dont j'ai besoi entre string, ineger, simple, currency, etc..
    je trouve les explication sur les manuel pas assez clair a ce sujet

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut bosk1000 et le forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub TEST()
    'mise en couleur vert
    Dim Plein As Range
    For Each Plein In Range([C4], [C65536].End(xlUp))
        If Not (IsEmpty(Plein)) Then Plein.Interior.ColorIndex = 4
    Next Plein
    End Sub
    une proposition
    A+

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

Discussions similaires

  1. [XL-2013] Copier uniquement des cellules non vides sur un autre classeur
    Par tonyfrost dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2014, 22h54
  2. Nouveau Problème sur le comptage des cellules NON VIDES
    Par tyndare36 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2014, 18h18
  3. [OpenOffice][Tableur] Comment compter des cellules non vides
    Par BizutAccess dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 14/02/2012, 09h18
  4. [XL-2002] Concatener des cellules non vides pour faire liste d'envoi mail
    Par tchoutchou69 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/11/2011, 10h38
  5. Somme des cellules non vides en VBA
    Par baldg dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/03/2008, 00h44

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