Les Allergies
Alimentaires
Posez votre question Signaler

[VBA] Détection cellule vide [Résolu]

Doudou95 1424Messages postés 19 juillet 2007Date d'inscription 24 avril 2012Dernière intervention - Dernière réponse le 24 mars 2010 à 17:04
Bonjour,
Je suis certain que c'est un truc tout bête mais je bloc...
Jaimerais faire une boucle qui compte le nombre de ligne (tableau excel) et qui, arrivé à une case vide, donc la dernière ligne met dans une variable le nombre de lignes
Merci pour ce ptit coup de pouce d'avance.
Lire la suite 

[VBA] Détection cellule vide »

7 réponses
Réponse
+17
moins plus
' Selectionne la première cellule du tableau
Range("A1").Select

' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
    NbLigne = NbLigne + 1
    Selection.Offset(1, 0).Select
Loop
Ajouter un commentaire
Réponse
+4
moins plus
Merci beaucoup seulement maintenant je veux écrire dans chacune des cellules jusqu'à NbLigne-1 dans la colonne en E une formule il me faut donc utiliser NbLigne mais je ne peux pas dans
[Selection.AutoFill Destination:=Range("E2:E37"), Type:=xlFillDefault] car à la place de E37 je n'arrive pas à placer NbLigne
Désolé je ne saisis pas encore très très bien le VBA :) je suis habitué au C++ et même le C++ j'ai du mal :D
onesdf- 28 mai 2008 à 09:58
Pas besoin de compter le nombre de ligne alors

' Selectionne la première cellule du tableau
Range("A1").Select

' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
    ' Inscrit une formule dans la cellule ayant pour référence
    ' la ligne active et la colonne 5 (colonne E)
    Cells(ActiveCell.Row, 5).Formula = "=NOW()"
    ' Passe à la ligne suivante
    Selection.Offset(1, 0).Select
Loop

zavenger- 28 mai 2008 à 10:05
Si je peux me permettre le fait que tu fasses un select a chaue fois ralentit enormemement la macro. Un truc du style

ii = 1
Do While Not (IsEmpty(ActiveSheet.Cells(ii,1)))
' Inscrit une formule dans la cellule ayant pour référence
' la ligne active et la colonne 5 (colonne E)
ActiveSheet.Cells(ii, 5).Formula = "=NOW()"
' Passe à la ligne suivante
ii = ii +1
Loop
Ajouter un commentaire
Réponse
+2
moins plus
dans excell
je voudrais mettre une information "texte ou nombre "dans une cellule à condition qu'une autre cellule soit non vide donc qu'il y est un texte ou un nombre
Ajouter un commentaire
Réponse
+0
moins plus
Merci bien ça marche nikel maintenant je vais le décortiquer pour le comprendre et c'est tout bon vous n'êtes pas à l'abrit d'autres demandes hihihi merci encore bix.







Solution :

' Selectionne la première cellule du tableau
Range("A1").Select

' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
' Inscrit une formule dans la cellule ayant pour référence
' la ligne active et la colonne 5 (colonne E)
Cells(ActiveCell.Row, 5).Formula = "=MID(RC[1],VALUE(SEARCH(""("",RC[1]))+1,VALUE(SEARCH("")"",RC[1]))-VALUE(SEARCH(""("",RC[1]))-1)"
' Passe à la ligne suivante
Selection.Offset(1, 0).Select
Loop
Ajouter un commentaire
Réponse
+0
moins plus
Range("A65536").End(xlUp).Offset(1, 0).Row
te donne la dernière ligne d'un tableau en colonne A

sinon utilise IsEmpty (range("A1")) avec une boucle
Ajouter un commentaire
Ce document intitulé « [VBA] Détection cellule vide » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?