OVH Cloud OVH Cloud

Se déplaver en colonne dans une recherche

15 réponses
Avatar
martine.leport
Bonjour,
Je cherche en vba comment trouver la premi=C3=A8re cellule vide dans une pl=
age de plusieurs colonnes et plusieurs lignes. Par d=C3=A9faut le d=C3=A9pl=
acement d'excel est vers la droite je voudrais qu'il cherche vers le bas

Merci beaucoup pour vos id=C3=A9es
Caroual

5 réponses

1 2
Avatar
MichD
Une dernière mise à jour!
https://www.cjoint.com/c/ICxainGeScj
MichD
Avatar
martine.leport
Le vendredi 22 mars 2019 15:57:40 UTC+1, MichD a écrit :
Une petite modification mineure. Donne un résultat plus homogèn e!
La procédure retourne toutes les plages de cellules qui ont au moins 3
cellules consécutives vides et ce, colonne par colonne.
'----------------------------------------
Sub Test()
Dim Rg As Range, Plg As Range, Are As Range, B As Long
Dim A As Long, Nb As Long, R As Range, N As Long
Dim P As Range, S As Long, Message As String
'adapte le nom de l'onglet de la feuille
With Worksheets("Feuil1")
'La plage initiale.
Set Rg = .Range("A1:C8")
End With
For A = 1 To Rg.Columns.Count
Set Plg = Rg.Columns(A).SpecialCells(xlCellTypeBlanks)
Nb = Plg.Areas.Count
If Nb > 0 Then
Set Are = Plg.Areas(1)
End If
If Not R Is Nothing And Are.Cells(1, 1).Row = 1 Then
Set P = Union(R, Are)
Set R = Nothing
Message = Message & P.Address & vbCrLf
N = 1
End If
If N = 0 Then
N = 1
Else
N = N + 1
End If
For B = N To Nb
Set Are = Plg.Areas(B)
If Are.Cells.Count >= 3 Then
Message = Message & Are.Address & vbCrLf
Set R = Are
End If
Next
B = 0: N = 0
Next
If Message <> "" Then
MsgBox "Voici les plages qui ont au moins " & vbCrLf & _
"3 Cellules consécutives vides." & vbCrLf & vbCrLf & Message
Else
MsgBox "Aucune plage n'a 3 cellules consécutives vides."
End If
End Sub
'----------------------------------------
MichD

Bonjour,
Trop fort
La curiosité scientifique de Jacquouille va être satisfaite et mo i je vais pouvoir avancer dans mon code.
Un grand grand merci pour le code pour les commentaires pour l'exemple et p our votre gentillesse.
Caroual
Avatar
Jacquouille
Bonjour
C'est inouï. Mon futur scientifique se trouve dans votre passé.....
Bonne journée à tous.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
a écrit dans le message de groupe de discussion :
Le vendredi 22 mars 2019 15:57:40 UTC+1, MichD a écrit :
Une petite modification mineure. Donne un résultat plus homogène!
La procédure retourne toutes les plages de cellules qui ont au moins 3
cellules consécutives vides et ce, colonne par colonne.
'----------------------------------------
Sub Test()
Dim Rg As Range, Plg As Range, Are As Range, B As Long
Dim A As Long, Nb As Long, R As Range, N As Long
Dim P As Range, S As Long, Message As String
'adapte le nom de l'onglet de la feuille
With Worksheets("Feuil1")
'La plage initiale.
Set Rg = .Range("A1:C8")
End With
For A = 1 To Rg.Columns.Count
Set Plg = Rg.Columns(A).SpecialCells(xlCellTypeBlanks)
Nb = Plg.Areas.Count
If Nb > 0 Then
Set Are = Plg.Areas(1)
End If
If Not R Is Nothing And Are.Cells(1, 1).Row = 1 Then
Set P = Union(R, Are)
Set R = Nothing
Message = Message & P.Address & vbCrLf
N = 1
End If
If N = 0 Then
N = 1
Else
N = N + 1
End If
For B = N To Nb
Set Are = Plg.Areas(B)
If Are.Cells.Count >= 3 Then
Message = Message & Are.Address & vbCrLf
Set R = Are
End If
Next
B = 0: N = 0
Next
If Message <> "" Then
MsgBox "Voici les plages qui ont au moins " & vbCrLf & _
"3 Cellules consécutives vides." & vbCrLf & vbCrLf & Message
Else
MsgBox "Aucune plage n'a 3 cellules consécutives vides."
End If
End Sub
'----------------------------------------
MichD

Bonjour,
Trop fort
La curiosité scientifique de Jacquouille va être satisfaite et moi je vais
pouvoir avancer dans mon code.
Un grand grand merci pour le code pour les commentaires pour l'exemple et
pour votre gentillesse.
Caroual
Avatar
Jacquouille
Bonjour Denis
Comme dit à Caroual, mon futur scientifique se trouve déjà dans votre passé.
J'ignorais, ou avais oublié, qu'Excel pouvait balayer une boucle dans
n'importe quel sens.
Je vais essayer de retenir cela.
Bonne journée et bon WE. Encore merci.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"MichD" a écrit dans le message de groupe de discussion :
q73tev$1op2$
Une dernière mise à jour!
https://www.cjoint.com/c/ICxainGeScj
MichD
Avatar
MichD
La curiosité scientifique de Jacquouille va être satisfaite et moi je vais pouvoir avancer dans mon code.
Un grand grand merci pour le code pour les commentaires pour l'exemple et pour votre gentillesse.
Caroual

Retiens le code du fichier exemple, c'est le plus complet!
MichD
1 2