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 :

Détecter une cellule vide via une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Par défaut Détecter une cellule vide via une macro
    Bonjour,

    J'aurai voulu savoir comment peut-on détecter une cellule vide (sur excel) via une macro afin de pouvoir inscrire "les coordonnées" de cette cellule sur une autre feuille s'il vous plaît?
    En fait je cherche à savoir comment rédiger l'instruction en question car je ne vois pas .
    Merci pour votre aide .

    Cordialement

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour Keria,

    Voici un petit exemple permettant de rechercher une cellule vide dans la Feuil3 sur la range B1:B13.
    Ensuite sur la Feuil2 en range A1 on place l'adresse de la cellule trouvée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub recherche_vide()
    Dim Rng As Range
    Dim Plage_rech As Range
     
    With Worksheets("Feuil3")
        Set Plage_rech = .Range("B1:B13")
        Set Rng = Plage_rech.Find("", LookIn:=xlValues, LookAt:=xlWhole)
    End With
     
    With Worksheets("Feuil2")
        .Range("A1") = Rng.Address
    End With
     
    End Sub
    N'hésite pas à revenir vers moi !

    Cordialement,
    Kimy

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonsoir le fil, bonsoir le forum,

    Tu peux aussi utiliser SpecialCells(xlCellTypeBlanks) dans une plage pour récupérer la ou les adresses de la ou des cellules vides.

    Dans un fichier vierge j'ai fait une sélection au hasard en partant de A1. J'ai tapé Blablabla et j'ai validé par [CTRL]+[Entrée]. Résultat, toutes les cellules de la sélection contenaient le mot Blablabla. À l'intérieur de cette sélection, j'en ai effacé plusieurs aléatoirement...
    Teste et lance la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
    Dim AD As String 'déclare la variable AD
     
    AD = Range("A1").CurrentRegion.SpecialCells(xlCellTypeBlanks).Address 'définit la variable AD
    MsgBox AD 'affiche AD dans un message
    End Sub

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    SpecialCells est à éviter.

    FIND est préférable. Il faut spécifier ses paramètres. Voir démo ci-joint.

    Le mieux : FOR...NEXT
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Citation Envoyé par Docmarti Voir le message
    SpecialCells est à éviter

    Tu peux développer ça m'intéresse. Parce qu'affirmer des choses sans les expliquer ça ne fait pas beaucoup avancer...

    Ton code ne renvoie que la première cellule vide trouvée et on ne peux même pas le relancer sans passer par VBE, c'est plutôt ça qui serait à éviter selon moi...
    Quant à la boucle For... Next, niveau rapidité c'est pas ce qu'il y a de mieux...

  6. #6
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Citation Envoyé par Docmarti Voir le message
    SpecialCells est à éviter.
    Correction:

    SpecialCells n'est pas à éviter.

    Nonobstant un bug dans les versions antérieures à 2010, qui limitait le nombre de régions à 8192,
    c'est une méthode qui peut être extrêmement utile grâce à ses options :

    • xlCellTypeAllFormatConditions
    • xlCellTypeAllValidation
    • xlCellTypeBlanks
    • xlCellTypeComments
    • xlCellTypeConstants
    • xlCellTypeFormulas
    • xlCellTypeSameFormatConditions
    • xlCellTypeSameValidation
    • xlCellTypeVisible

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour à tous ....

    Je suis un fan du specialcells .... c'est extrèmement puissant et rapide .... donc j'avais été vraiement surpris par l'avis .... Merci pour votre contribution

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

Discussions similaires

  1. [XL-2013] Remplacer une cellule vide par une valeur
    Par Tiagra dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/09/2014, 20h45
  2. Rechercher l'adresse d'une cellule remplie via une combobox
    Par thomanneca dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/02/2014, 19h09
  3. Réponses: 3
    Dernier message: 04/07/2012, 12h24
  4. [XL-2000] Détection d'une cellule vide dans une ligne.
    Par babou41287 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2012, 15h40
  5. différencier une cellule vide d'une cellule nulle
    Par schwarzy2 dans le forum VB.NET
    Réponses: 4
    Dernier message: 02/09/2008, 13h50

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