Chercher dans la colonne la prochaine celulle non vide

  • Initiateur de la discussion Initiateur de la discussion Karim
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

Karim

Guest
Bonjour,

J'ai un fichier avec une cellule non vide, plusieurs cellules vides puis a nouveau une cellule non vide.
Ce que je veux faire, c'est connaitre l'adresse de la cellue non vide qui se trouve après les cellules vides.

A1=200
A2=
A3=
A4=
A5=150

sacahnt que le nombre decellules vides entre deux cellules pleines n'est pas constant, ça peut etre une fois 3 cellules vides, une fois 4...
J'ai essayé de faire ça:

Sub test()

Dim art As Range, ver As Integer, art2 As Range

Set art = Range("a2")
ver = 0

Do Until art.Offset(ver) <> ""
ver = ver + 1
Set art2 = art.Offset(1)
Loop

MsgBox art2

End Sub

Mais avec ça; la variable art2 est tjs vide alors qu'elle devrait avoir 150 comme valeur!

Si vous avez des idées, vous me sauvez la vie!
Merci d'avance!
 
Bonjour Karim, Jean-marie

une macro qui te donne toutes les cellules non vides de la colonne "A";
avec des fonctions texte, on trouve la 2° référence (j'ai la flemme...)

Sub nonvide()

Dim var As String

var = Range("A1").SpecialCells(xlCellTypeConstants, 23).Address

MsgBox var
End Sub

Il y a d'autres variantes encore que ces 2 solutions (JM et MM) avec . par exemple .find

A+

Michel
 
merci de vos réponses mais cela ne résoud pas mon pb...
En effet, avac vos méthodes, il faut que je connaisse la plage dans laquelle chercher, et je ne la connnais pas, elle change à chaque fois, c'est pour ça que j'ai essayé avec une boucle.
Et la méthode Michel_M, elle ne va pas non plus car elle me donne toute les adresses des cellules non vides, et moi je ne veux que celle qui suit...
Merci d'avance
 
re "salut"
bonsoir "Michel_M"
c'est vraiment pas évident ,sans pièce jointe pour expliquer un peu
Car on croit avoir compri et on est à coté.Donc joindre une explication par fichier c'est mieux ;0)
A+++
Jean Marie
 
bonsoir tout le monde


une idée :

Public Sub karim()
Dim cel As Range
For Each cel In Range("a2:a500")
If cel.Value <> "" And cel.Offset(-1, 0) = "" Then
MsgBox cel.Address
End If
Next cel
End Sub


donne l'addresse d'une cellule si la cellule au dessus est vide (laissé a1 vide).

salut
Hervé
 
Bonjour,

Voici comment j'ai fait, c'est tt simple en fait!:

----------
10









125
-----------

Sub TEST()

Dim A As Range, c As Range
Dim B As Integer

Set A = Range("A1")
B = 1
While A.Offset(B) = ""

B = B + 1
Set c = A.Offset(B)

Wend
MsgBox c
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour