Compter un nombre de ligne

  • Initiateur de la discussion Initiateur de la discussion k4RADOC
  • 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

k4RADOC

Guest
Bonjour à tous,


Dans un premier temps je souhaiterais savoir comment faire pour compter un nombre de ligne entre deux cellules vide.
Ensuite je souhaiterais écrire un message autant de fois que le nombre trouvé lors de mon premier test.

Je vous envoie le fichier exemple pour mieux comprendre.
 
Re : Compter un nombre de ligne

En gros il faut :

- Trouver la première cellule vide de la colonne A à partir de A5, on peut le faire via cette fonction
Code:
Sub cellulevide()
   
    If Range("A5").Value = "" Then
        Range("A5").Select
        Else
    If Range("A5").Value <> "" And Range("A6").Value = "" Then
        Range("A5").Select
    Else
        Range("A5").End(xlDown).Offset(1, 0).Select
    End If
End If
End Sub
- Trouver la première cellule vide de la colonne C à partir de C5 (via la même fonction)
- Compter le nombre de ligne entre ces deux colonnes (dans l'exemple il y en a 3)
- Selectionner la première ligne non vide en A (via le code donné précedemment et écrire bonsoir sur le nombre de ligne que l'on a trouvé (3 dans l'exemple)


Ce qui a pour conséquence d'écrire bonsoir en A8 A9 A10.

Merci d'avance et bon courage 🙂
 

Pièces jointes

Re : Compter un nombre de ligne

Bonjour k4RADOC, Bonjour Philippe
En une ligne peut être ?
VB:
Sub test()
With Sheets("Feuil1")
    .Range(.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), _
    .Cells(Rows.Count, 3).End(xlUp).Offset(0, -1)).Value = "Bonsoir"
End With
End Sub
Cordialement
 
Re : Compter un nombre de ligne

Salut Efgé,
Comme d'habitude tes réponses marchent du tonnerre ! Pour ma culture perso et si tu as le temps peut tu m'expliquer pas à pas ce que ton code fait ? Tant pis si tu n'as pas le temps ton aide ma déjà bien aidé.
 
Re : Compter un nombre de ligne

Re
Alors , on décompose:
On part d'une base de code connue
VB:
Sheets ("Feuil1").Range("A1:A10")
Donne la plage de A1 à A10 de la feuil1
Maintenant on peux utiliser Cells [Cells(Ligne, Colonne)], ce qui donne pour la même plage
VB:
Sheets ("Feuil1").Range(Sheets("Feuil1").Cells(1,1),Sheets("Feuil1").Cells(10,1))
Pour trouver la dernière cellule remplie en colonne A (colonne 1), on part de la dernière ligne et on remonte (xlup)
VB:
Sheets ("Feuil1").Cells(Rows.Count, 1).End(xlUp)
Pour trouver la cellule du dessous on utilise OFFSET(Décalage en ligne, Décalage en colonne)
VB:
Sheets ("Feuil1").Cells(Rows.Count, 1).End(xlUp).Offset(1,0)
Pour trouver la dernière cellule en colonne C (3)
VB:
Sheets ("Feuil1").Cells(Rows.Count, 3).End(xlUp)
Mais là on veux décaler d'une colonne vers la gauche (-1) (- 1 par ce que les cellules sont fusionnées)
VB:
Sheets ("Feuil1").Cells(Rows.Count, 1).End(xlUp).Offset(0, -1))
On arrive donc, pour la plage à :
VB:
Sheets("Feuil1").Range(Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), _
    Sheets("Feuil1").Cells(Rows.Count, 3).End(xlUp).Offset(0, -1))
Reste à donner la valeur de cette plage (puisque toutes les cellules ont même valeur):
VB:
Sheets("Feuil1").Range(Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), _
    Sheets("Feuil1").Cells(Rows.Count, 3).End(xlUp).Offset(0, -1)).Value = "Bonsoir"
Comme les Sheets("Feuil1") deviennent lourdes à la fin 😀 on utilise with / En With Tous les ranges et Cells précédés d'un point seront ratachés à ce With
VB:
With Sheets("Feuil1")
    .Range(.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), _
    .Cells(Rows.Count, 3).End(xlUp).Offset(0, -1)).Value = "Bonsoir"
End With

Ne pas oublier de commencer par un sub Toto et de finir par un end Sub 😀

Cordialement
 
Dernière édition:
- 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

Réponses
6
Affichages
614
Retour