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 :

recherche cellule vide liste filtrée


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Assistant de Direction
    Inscrit en
    Janvier 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Liban

    Informations professionnelles :
    Activité : Assistant de Direction
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2010
    Messages : 81
    Par défaut recherche cellule vide liste filtrée
    Bonjour à tous,

    J'espère que vous allez bien,

    Je cherche un code vba qui me permettrai de sélection la 1ère cellule vide (à droite) d'une liste filtrée

    Merci de votre aide précieuse

    Bien à tous

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    La demande n'est pas claire au moins pour moi
    peux tu expliquer davantage et si nécessaire avec une simulation du résultat attendu
    pour trouver la dernière cellule utilisée après un filtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Address

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    peut-être aussi quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").End(xlToRight).Column+1

  4. #4
    Membre confirmé
    Homme Profil pro
    Assistant de Direction
    Inscrit en
    Janvier 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Liban

    Informations professionnelles :
    Activité : Assistant de Direction
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2010
    Messages : 81
    Par défaut recherche cellule vide liste filtrée
    Citation Envoyé par BENNASR Voir le message
    Bonjour
    La demande n'est pas claire au moins pour moi
    peux tu expliquer davantage et si nécessaire avec une simulation du résultat attendu
    pour trouver la dernière cellule utilisée après un filtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Address

    Rebonjour,

    En fait, une fois que j'ai effectué le filtre sur ma liste, je souhaite sélection la première cellule vide de la première ligne du filtre (hors entete) tout à droite pour y coller des données sur la premiere colonne vide située à droite.

    J'espère avoir été un peu plus précis

    merci de votre aide

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    Ci joint un fichier avec un exemple : juste saisir le critère en B1 puis cliquer sur le bouton vous aurez la référence de la première ligne non vide
    teste ça avec prudence, si non revenir avec un exemple concret
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim F As Worksheet
    Dim lig As Long
    Dim derlig As Long
    Dim filtre As String
    Set F = Sheets("feuil1")
    If F.FilterMode = True Then F.ShowAllData
    filtre = F.Cells(1, 2)
    derlig = F.Cells(Rows.Count, 1).End(xlUp).Row
    F.Range("A2:D" & derlig).AutoFilter Field:=1, Criteria1:=filtre
    lig = F.Range("A3:C" & derlig).SpecialCells(xlCellTypeVisible).Row
    MsgBox lig
    End Sub
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Au lieu de sélectionner toutes les cellules vides d'une plage de cellule et d'ensuite sélectionner celles qui sont dans la dernière colonne, il me semble plus simple de définir d'emblée comme plage la colonne en question et d'ensuite définir les cellules vides de cette colonne. La première cellule de cette plage est forcément la première.

    Petit exemple d'une fonction générique qui renvoie un objet Range des cellules vides d'une colonne d'un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function GetRangeEmpty(TableName As String, LabelName As String) As Range
      ' Renvoie un objet Range des cellules vides de la colonne définies par LabelName
      ' Arguments
      '  TableName  Nom de la table (ListObject)
      '  LabelName  Nom de l'étiquette de colonne
      Dim t As ListObject
      Set t = Range(TableName).ListObject
      With t.ListColumns(LabelName).DataBodyRange
       Set GetRangeEmpty = .SpecialCells(xlCellTypeBlanks)
      End With
      Set t = Nothing
    End Function
    Exemple d'un procédure qui l'invoque. La variable r représente la plage des cellules vides de la colonne Valeurs de la table t_Data. Si la table est filtrées seules les cellules visibles de la colonne "Valeurs" seront renvoyées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub t()
      Const tn As String = "t_Data"
      Const ln As String = "Valeurs"
      Dim r As Range
      Set r = GetRangeEmpty(tn, ln)
      r.Value = 0 ' Ecriture d'une valeur nulle dans la plage renvoyée
      Set r = Nothing
    End Sub
    et pour connaître la première cellule vide Debug.Print r.Cells(1, 1).Address
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/12/2022, 14h26
  2. Recherche cellule vide Excel VBA
    Par Dens38 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/02/2017, 10h47
  3. Réponses: 3
    Dernier message: 14/11/2016, 20h59
  4. [XL-2010] recherche cellule vide
    Par Doussot dans le forum Excel
    Réponses: 7
    Dernier message: 20/11/2015, 17h14
  5. [XL-2007] recherche cellule vide dans colonne
    Par dandy87 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/11/2010, 16h33

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