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 :

Trouver la première cellule vide dans une colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 284
    Par défaut Trouver la première cellule vide dans une colonne
    Bonjour à toutes et tous,

    Dans cette discussion,
    https://www.developpez.net/forums/d2...ormat-tableau/
    Philippe Tulliez propose le code suivant pour trouver la 1ère cellule vide dans une colonne.
    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
    Sub t11()
      Dim rng As Range
      Dim Cell As Range
      Set rng = Range("Cpta_Test").ListObject.ListColumns(1).DataBodyRange ' ListColumns(1) = 1ère colonne du tableau
      ' Il est possible également de remplacer l'indice 1 par le nom de la colonne
      'Set rng = Range("Cpta_Test").ListObject.ListColumns("Mois").DataBodyRange ' ListColumns("Mois") = 1ère colonne du tableau
      On Error Resume Next
      Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1)
      If Err.Number Then
         MsgBox "Pas de cellule vide"
        Else
         MsgBox "Première cellule vide " & Cell.Address
      End If
      On Error GoTo 0
      Set rng = Nothing: Set Cell = Nothing
    End Sub
    La recherche se fait sur la colonne D soit la 1ère colonne (indice(1)) du tableau "Cpta_Test" à savoir la colonne nommée "Mois".
    Dans mon tableau test, le résultat de la recherche doit être la cellule D32.
    Mais le résultat retourné est G15. Cette cellule est bien la première de la colonne G.

    Je ne comprends pas pourquoi il va chercher sur la 4ème colonne du tableau.

    Si je remplace ligne 8 Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1) le (1) par (0), le résultat retourné est G14.
    Si je supprime ligne 8 Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1) le (1), le résultat retourné est la liste de toutes les cellules vides du tableau.

    Merci pour votre aide

    Philippe

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour
    quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set Cell = Range("Cpta_Test").SpecialCells(xlCellTypeBlanks)(1)
    tu attaques sur la totalité du tableau ; a priori la recherche part de gauche à droite puis de haut en bas, et donc la première cellule trouvée est sur la ligne 4, colonne G.

    Tu voulais peut être faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set Cell = rng.SpecialCells(xlCellTypeBlanks)(1)
    Pour lancer la recherche dans la colonne 1 (sinon au passage rng n'est pas utillisé)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 284
    Par défaut
    Bonjour Tête de chat,

    Merci pour ta réponse.
    C'est tellement évidant quand tu l'écris.
    Le code fonctionne.
    Merci
    Philippe

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

Discussions similaires

  1. Sélectionner la première cellule vide dans une plage sélectionnée
    Par NRVIPSC dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/06/2020, 09h24
  2. [XL-2016] [Débutant vba] Copier-Coller une cellule dans la première cellule vide d'une colonne nommé
    Par AlexandreB94 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2019, 12h10
  3. [XL-2003] Supprimer des cellules vides dans une colonne
    Par floctc dans le forum Excel
    Réponses: 6
    Dernier message: 08/12/2009, 14h32
  4. nb de cellule vide dans une colonne?
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/02/2008, 12h22
  5. Réponses: 7
    Dernier message: 11/09/2006, 12h33

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