(VBA) Sélectionner la deuxième cellule non vide à gauche

polo_0109

XLDnaute Nouveau
Bonjour,

On suppose que nous sommes positionnés sur A11. Certaines cellules de la plage ("A1:A10") sont vides.

J'aurai voulu savoir comment sélectionner la première cellule non vide en partant de A11 et en allant vers la gauche.
J'ai également besoin de sélectionner la deuxième cellule non vide.

Ça doit bien faire 30 min que je cherche et tente des choses sans succès.

Merci d'avance
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : (VBA) Sélectionner la deuxième cellule non vide à gauche

Bonjour Polo,

pourrais-tu re-préciser la question
J'aurai voulu savoir comment sélectionner la première cellule non vide en partant de A11 et en allant vers la gauche.
car lorsqu'on se trouve en colonne A, il n'y à plus rien vers la gauche ( mis à part l'encadrement de l'écran :D )

à+
Philippe
 

Softmama

XLDnaute Accro
Re : (VBA) Sélectionner la deuxième cellule non vide à gauche

Je suppose que tu as voulu dire "en allant vers le haut" à partir de A11, plutôt que "en allant vers la gauche".
VB:
Sub change_selection()
Dim c As Range
Set c = ActiveCell.Offset(-1)
Do While c = "" And c.Row > 1
  Set c = c.Offset(-1)
Loop
If c.Row > 1 Then
  Set d = c.Offset(-1)
  Do While d = "" And d.Row > 1
    Set d = d.Offset(-1)
  Loop
End If
MsgBox "1ère cellule non vide : " & c.Address(0, 0) & Chr(10) & "2ème : " & IIf(d Is Nothing, "", IIf(d = "", "", d.Address(0, 0)))
End Sub

Vois si c'est ce que tu veux obtenir...
 

polo_0109

XLDnaute Nouveau
Re : (VBA) Sélectionner la deuxième cellule non vide à gauche

Oups ! Je dois être trop fatigué, vraiment désolé.

Je reprend.

On suppose que nous sommes positionnés sur K1. Certaines cellules de la plage ("A1:J1") sont vides.
J'aurai voulu savoir comment sélectionner la première cellule non vide en partant de K1 et en allant vers la gauche.
J'ai également besoin de sélectionner la deuxième cellule non vide.
 

Softmama

XLDnaute Accro
Re : (VBA) Sélectionner la deuxième cellule non vide à gauche

donc, vers la gauche :
VB:
Sub change_selection()
Dim c As Range
Set c = ActiveCell.Offset(,-1)
Do While c = "" And c.column> 1
  Set c = c.Offset(,-1)
Loop
If c.column> 1 Then
  Set d = c.Offset(,-1)
  Do While d = "" And d.column> 1
    Set d = d.Offset(,-1)
  Loop
End If
MsgBox "1ère cellule non vide : " & c.Address(0, 0) & Chr(10) & "2ème : " & IIf(d Is Nothing, "", IIf(d = "", "", d.Address(0, 0)))
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : (VBA) Sélectionner la deuxième cellule non vide à gauche

Bonjour à tous,

une autre approche, si j'ai bien compris le problème... pas sûr...
Code:
Option Explicit
Sub test()
Dim x As Range
With Range("A1:J1")
    Set x = .Find("*", [A1], xlValues, , 2, 2, 0)
    If Not x Is Nothing Then
        Set x = .Find("*", x, xlValues, , 2, 2, 0)
        If Not x Is Nothing Then MsgBox x.Address
    End If
End With
End Sub

bonne journée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 501
dernier inscrit
talebafia