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
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
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
peut-être aussi quelque chose comme
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("A1").End(xlToRight).Column+1
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
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
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
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
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
et pour connaître la première cellule vide Debug.Print r.Cells(1, 1).Address
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
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 suret 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
Partager